DatePicker和TimePicker代码不能一起工作(“protected Dialog onCreateDialog(int id)”已经定义)

时间:2015-07-05 13:20:38

标签: android datepicker timepicker

我创建了一个应用程序,其中有一个DatePicker和一个TimePicker。首先我制作了Datepicker,当我选择Date textview时,我显示了它,这非常好。然后我想对Time EditText做同样的事情,但是不应该显示DatePicker,它应该在选中时显示TimePicker。

我实现了TimePicker的代码之后:错误是已经定义了“protected Dialog onCreateDialog(int id)”,我不能两次使用此方法。

任何帮助将不胜感激,

先谢谢

1 个答案:

答案 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");

通过这种方式,您还可以为每个选择器添加自定义回调或侦听器,并在一个活动中多次使用它们。