java - 时间选择器使我的应用程序崩溃并出现错误:E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system
问题描述
很抱歉我再次需要你的帮助。我真的很想自己解决所有这些问题,但是因为从今年开始我只做 Android Coding,我仍然时不时地不知所措。
我试着做一个时间选择器。如果我在一个新项目中这样做,它会完美运行。但是一旦我将它放入我的“原始应用程序”中,该应用程序就会运行到 View 3,在那里我有 Time Picker。我也可以打开时间选择器。我选择了时间,但是当我单击确定时,它说:不幸的是,应用程序已停止。单击确定后,我跳回到视图 2。我已经尝试重新组织代码并删除了模拟器并创建了一个新的。不管我做什么,它都不起作用。有没有可能,因为我尝试将不同的属性添加到彼此独立学习的应用程序中,所以我在课堂上仍然有错误的顺序?
我认为 TimePickerFragment 应该是正确的,因为选择器可以工作,但在这里我再次添加它:
public class TimePickerFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, android.text.format.DateFormat.is24HourFormat(getActivity()));
}
}
我在下面的课程中添加了时间选择器
public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_Main);
Calendar calendar = Calendar.getInstance();
String currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD).format(calendar.getTime());
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
String time = format.format(calendar.getTime());
TextView textViewDate = findViewById(R.id.Date);
textViewDate.setText(currentDate);
TextView textView = findViewById(R.id.Time2);
textView.setText(time);
EditText editText = (EditText) findViewById(R.id.Time1);
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment timePicker = new TimePickerFragment();
timePicker.show(getSupportFragmentManager(), "time picker");
}
});
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TextView textView = (TextView)findViewById(R.id.time);
textView.setText(hourOfDay + ":" + minute);
}
}
解决方案
public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_Main);
Calendar calendar = Calendar.getInstance();
String currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD).format(calendar.getTime());
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
String time = format.format(calendar.getTime());
TextView textViewDate = findViewById(R.id.Date);
textViewDate.setText(currentDate);
TextView textView = findViewById(R.id.Time2);
textView.setText(time);
EditText editText = (EditText) findViewById(R.id.Time1);
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment timePicker = new TimePickerFragment();
timePicker.show();
}
});
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TextView textView = (TextView)findViewById(R.id.time);
textView.setText(hourOfDay + ":" + minute);
}
}
推荐阅读
- javascript - Render items into DOM from array and changing value for each on click
- c# - 记录从事件中心到 NewRelic(超过 6 小时)花费大量时间的消息
- ios - 当我返回时,自定义表格视图单元格没有取消选择?
- amazon-web-services - 如何使用 AWS Glue 支持 CDC
- javascript - 我无法运行此 React 操作的返回语句
- ruby-on-rails - 如何为规范存根 zendesk_api current_user?
- ios - iOS 12+:Vue 移动应用程序 - 键盘输入点击崩溃
- swift - 在 Swift 中按类型和属性对异构集合进行排序
- perl - Perl:同形异义词攻击。可以比较 ascii / non-ascii 字符串,视觉上相似吗?
- editor - Mac 上的 Vi 编辑器和备忘单