Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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
Java TimePickerFragment未在所有android设备上调用onTimeSet方法_Java_Android_Timepicker_Android Timepicker - Fatal编程技术网

Java TimePickerFragment未在所有android设备上调用onTimeSet方法

Java TimePickerFragment未在所有android设备上调用onTimeSet方法,java,android,timepicker,android-timepicker,Java,Android,Timepicker,Android Timepicker,我正在我的android应用程序中实现时间选择器对话框。我想在对话框中设置3个按钮,“设置”、“清除”、“取消” 我正在使用TimePickerFragment,我已经完成了这方面的代码,但它并没有在所有android设备上正常工作,在一些设备上它工作得很好,但在一些设备上它不是 我正在使用以下代码:- public class TimePickerFragment extends DialogFragment implements OnTimeSetListener {

我正在我的android应用程序中实现时间选择器对话框。我想在对话框中设置3个按钮,“设置”、“清除”、“取消”

我正在使用TimePickerFragment,我已经完成了这方面的代码,但它并没有在所有android设备上正常工作,在一些设备上它工作得很好,但在一些设备上它不是

我正在使用以下代码:-

    public class TimePickerFragment extends DialogFragment implements
        OnTimeSetListener {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        hour = c.get(Calendar.HOUR_OF_DAY);
        min = c.get(Calendar.MINUTE);
        final TimePickerDialog timePickerDialog = new TimePickerDialog(
                getActivity(), this, hour, min, true);
        timePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE,
                getActivity().getResources().getString(R.string.done1),
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        isTimeSet = true;
                        System.out.println("only true");
                    }
                });

        timePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
                getActivity().getResources().getString(R.string.cancle),
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        isTimeSet = false;
                        System.out.println("only false");
                        //tvTime1.setText(userAlarmStartTime);
                    }
                });

        timePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL,
                getActivity().getResources().getString(R.string.clear),
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        isTimeSet = false;
                        System.out.println("only neutral");
                        tvTime1.setText("");
                    }
                });
        return timePickerDialog;
    }

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // TODO Auto-generated method stub
//          System.out.println("value in time set:- " + isTimeSet);
        if (isTimeSet) {
            String userAlarmStartTime;
            if (minute < 10) {
                userAlarmStartTime = hourOfDay + ":0" + minute;
            } else {
                userAlarmStartTime = hourOfDay + ":" + minute;
            }
            tvTime1.setText(userAlarmStartTime);
        }

    }
}
当我在某些设备上调试代码时,它不会调用
onTimeSet()
方法,但在某些设备上它会调用该方法

关于这一点,我已经搜索了很多,但我找不到任何能帮助我解决问题的东西


有人能告诉我哪里出了问题吗?

请看一下它的完美之处,谢谢
DialogFragment newFragment = new TimePickerFragment();
                newFragment.show(getFragmentManager(), "timePicker");