Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当主类自己扩展一个片段时,如何使用时间选择器对话框?_Android_Android Fragments_Dialog_Timepicker - Fatal编程技术网

Android 当主类自己扩展一个片段时,如何使用时间选择器对话框?

Android 当主类自己扩展一个片段时,如何使用时间选择器对话框?,android,android-fragments,dialog,timepicker,Android,Android Fragments,Dialog,Timepicker,当我的主类本身是一个片段时,我不理解如何使用时间选择器对话框 请分享一些代码,以便我能解决这个问题。我被这件事缠住了。我是否需要实现其他一些方法 使用单独的TimePickerFragment类公共类FirstFragment扩展片段实现TimePickerFragment。TimeDialogListener抛出错误: 类“FirstFragment”必须声明为抽象的,或者在“TimeDialogListener”中实现抽象方法“onFinishDialog(String)”使用TimePic

当我的主类本身是一个片段时,我不理解如何使用时间选择器对话框

请分享一些代码,以便我能解决这个问题。我被这件事缠住了。我是否需要实现其他一些方法

使用单独的TimePickerFragment类
公共类FirstFragment扩展片段实现TimePickerFragment。TimeDialogListener
抛出错误:
类“FirstFragment”必须声明为抽象的,或者在“TimeDialogListener”中实现抽象方法“onFinishDialog(String)”

使用TimePickerDialog非常简单

int hour = currentTime.get(Calendar.HOUR_OF_DAY);
int minute = currentTime.get(Calendar.MINUTE);
TimePickerDialog timePicker;
timePicker = new TimePickerDialog(context, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                //logic to handle time set event
            }
        }, hour, minute, true);//Yes 24 hour time
        timePicker.setTitle("Select Time");
        timePicker.show();
类“FirstFragment”必须声明为抽象的,或者在“TimeDialogListener”中实现抽象方法“onFinishDialog(String)”

此错误表示您需要重写方法
onFinishDialog(String
导致其在
TimeDialogListener
中声明为
abstract
。 只需在类中重写它

@Override
public void onFinishDialog(String s){

}
除此之外,您还可以在类中直接使用
TimePickerDialog

private void showTimePicker(){
    Calendar calendar =Calendar.getInstance();
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    int minute = calendar.get(Calendar.MINUTE);
    TimePickerDialog timePicker = new TimePickerDialog(context, new TimePickerDialog.OnTimeSetListener() {
        @Override
        public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
            //Do the stuff here
        }
    }, hour, minute, false);
    timePicker.setTitle("Pick Time");
    timePicker.show();
}