How do I detect a cancel click of the datepicker dialog?

后端 未结 12 1835
鱼传尺愫
鱼传尺愫 2020-12-03 06:51

i am using following example of date picker

http://developer.android.com/guide/tutorials/views/hello-datepicker.html

now i want to perform some functionality

12条回答
  •  时光说笑
    2020-12-03 07:47

    If you want to perform a different action depending on whether the user selected a date or not you can use an onDismiss handler. Be sure to set a Boolean (e.g., "isDataSet") to indicate whether the user selected a date or not. Here's an example:

    // Date Picker Dialog
       public void showDatePickerDialog(View view) {
       int year, month, day;
       isDataSet = false;  // this is used by the onDismiss handler
    
    // Set initial time period in DatePicker to current month
       calendarCurrent = Calendar.getInstance(); 
       month = calendarCurrent.get(Calendar.MONTH);
       day =   calendarCurrent.get(Calendar.DAY_OF_MONTH);
       year =  calendarCurrent.get(Calendar.YEAR);
    
       DatePickerDialog datePickerDialog = new DatePickerDialog(YourActivity.this, dateSetListener, year, month, day );
       datePickerDialog.setOnDismissListener(mOnDismissListener);
       datePickerDialog.show();
       datePickerDialog_visible=true;  //indicate dialog is up
     } // [END showDatePickerDialog] 
    
    //onDismiss handler
    private DialogInterface.OnDismissListener mOnDismissListener =
            new DialogInterface.OnDismissListener() {
                public void onDismiss(DialogInterface dialog) {
                    datePickerDialog_visible=false;  //indicate dialog is cancelled/gone
                    if (isDataSet) {  // [IF date was picked
                        //do something, date now selected
                    } else {
                        //do someething else, dialog cancelled or exited
                    }   
                }
            };
    

提交回复
热议问题