如何使用TimePicker对话框将默认时间设置为指定的小时?

AJW*_*AJW 2 android android-fragments android-timepicker

我有一个片段,它启动一个TimePicker对话框供用户选择一天中的时间.我希望对话框启动时间为下午4:00时显示的默认时间.然后,用户可以选择他们自己的时间.我一直在尝试setHour和setMinute但无济于事.

下面是设置为当前时间的TimePicker的部分代码.请告知如何修改以在TimePicker对话框首次启动时始终显示下午4:00.

...
public Dialog onCreateDialog(Bundle savedInstanceState) {
    cal = Calendar.getInstance();
    hour = cal.get(Calendar.HOUR_OF_DAY);
    minute = cal.get(Calendar.MINUTE);

    TimePickerDialog dialog = new TimePickerDialog(getActivity(),this,hour,minute,
            dialog.setTitle("Select...");

    return dialog;
}
Run Code Online (Sandbox Code Playgroud)

mil*_*lez 6

您可以使用该方法

dialog.updateTime(int hour, int minute);
Run Code Online (Sandbox Code Playgroud)

API中所示.关键是小时始终是24小时格式.或者,构造函数也接受小时和分钟作为ints

    TimePickerDialog(Context context, 
        TimePickerDialog.OnTimeSetListener listener, 
        int hourOfDay, int minute, boolean is24HourView)
Run Code Online (Sandbox Code Playgroud)

例如设置为4:00 PM而没有24h格式:

TimePickerDialog(getActivity(), this, 16, 0, false);
Run Code Online (Sandbox Code Playgroud)