相关疑难解决方法(0)

如何在Android中为datepickers取消按钮设置监听器?

我在Android中使用了一个datepicker让用户选择日期.我希望它做一件事,如果用户选择一个日期并设置它(我有那个工作正常)然后清除某个文本字段,如果用户按下datepicker上的取消按钮(打开datepicker但然后取消它).

我一直在努力的方法是做一个

private DatePickerDialog.OnCancelListener mDateCancelListener =
    new DatePickerDialog.OnCancelListener() {
        public void onCancel(DialogInterface dialog) {
            timeClear(); //method that clears text field
        }

    };
Run Code Online (Sandbox Code Playgroud)

那我呢

TimePickerDialog timeDialog = new TimePickerDialog(this,
  mTimeSetListener,
  c.get(Calendar.HOUR),
  c.get(Calendar.MINUTE),
  false);
timeDialog.setOnCancelListener(mTimeCancelListener);
Run Code Online (Sandbox Code Playgroud)

附加监听器.

我的问题是,如果用户按下后退按钮,则监听器工作,但如果他们按下取消按钮则不行.我尝试使用一个dismiss监听器,这是有效的,除了它即使我设置或取消datepicker也会消失!

当且仅当我在我的日期选择器上按下取消按钮时,我需要做什么让某些事情发生?

android datepicker

8
推荐指数
2
解决办法
1万
查看次数

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

我用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,那么它也将解决我的问题.

android android-timepicker

5
推荐指数
1
解决办法
5647
查看次数

标签 统计

android ×2

android-timepicker ×1

datepicker ×1