DatePicker 和 TimePicker 代码无法协同工作("protected Dialog onCreateDialog(int id)" 已定义)

DatePicker and TimePicker code not working together ("protected Dialog onCreateDialog(int id)" is already defined)

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

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

如有任何帮助,我们将不胜感激,

提前致谢

我假设您只有一个 DialogFragment 用于日期和时间选择器...这将产生冲突,因为您已经实现了 onCreateDialog。

我通常做的是为每个组件创建另一个 class,我希望有不同的 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) {
                  ...
                }

然后我会在 activity 中调用它,例如 ...

DatePickerDialog dialog = new DatePickerDialog();
FragmentManager fm = getSupportFragmentManager();
dialog.show(fm, "Date Picker");

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