TimePickerDialog:单击"取消"按钮调用onTimeSet()方法

Gee*_*eek 5 android android-timepicker

我用TimePickerDialogonTimeSet()方法.我添加了一个cancel按钮onClickListener.
我的问题是,当我单击cancel按钮时,会调用onTimeSet()方法.为什么?有什么方法可以解决这个问题?

// Create timePicker and set listener
timeListener = new TimePickerDialog.OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {


        };

    timePicker = new TimePickerDialog(RS_CreateTripActivity.this,
                timeListener, hour, min, false);
    timePicker.setCanceledOnTouchOutside(false);
    timePicker.setCancelable(false);

    // Set negative button click listener
    timePicker.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
                new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
                        datePicker.dismiss();
        }
});
Run Code Online (Sandbox Code Playgroud)

我尝试通过设置positive按钮,onClickListener但在那种情况下,我无法用户选择时间.如果有人告诉我如何获得时间onClickListener,那么它也将解决我的问题.

lok*_*oko 1

DatePickerDialog 和 TimePickerDialog 存在问题(问题 #34833)。您可以使用计数器作为解决方法来解决此问题。请。请参阅:Android 中带有取消选项的日期选择器