【问题标题】:DatePicker and TimePicker code not working together ("protected Dialog onCreateDialog(int id)" is already defined)DatePicker 和 TimePicker 代码不能一起工作(“protected Dialog onCreateDialog(int id)”已经定义)
【发布时间】:2015-07-05 13:20:38
【问题描述】:

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

在我实现 TimePicker 的代码后:错误是“受保护的 Dialog onCreateDialog(int id)”已定义,我无法使用此方法两次。

任何帮助将不胜感激,

提前致谢

【问题讨论】:

    标签: android datepicker timepicker


    【解决方案1】:

    我假设您只有一个 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");
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 2017-08-21
      相关资源
      最近更新 更多