我创建了一个应用程序,其中有一个DatePicker和一个TimePicker。首先我制作了Datepicker,当我选择Date textview时,我显示了它,这非常好。然后我想对Time EditText做同样的事情,但是不应该显示DatePicker,它应该在选中时显示TimePicker。
我实现了TimePicker的代码之后:错误是已经定义了“protected Dialog onCreateDialog(int id)”,我不能两次使用此方法。
任何帮助将不胜感激,
先谢谢
答案 0 :(得分:0)
我假设您只有一个DialogFragment用于日期和时间选择器...这将产生冲突,因为您已经实现了onCreateDialog。
我通常做的是为每个组件创建另一个类,我希望有一个不同的onCreateDialog实现。
public class DatePickerDialog extends DialogFragment implements DatePickerDialog.OnDateSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
...
}
public class TimePickerDialog extends DialogFragment implements
TimePickerDialog.OnTimeSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
...
}
然后我会在活动中称之为......
DatePickerDialog dialog = new DatePickerDialog();
FragmentManager fm = getSupportFragmentManager();
dialog.show(fm, "Date Picker");
通过这种方式,您还可以为每个选择器添加自定义回调或侦听器,并在一个活动中多次使用它们。