2012-05-12 11 views
3

以下のコードにonCancel/onDismissリスナーを実装する方法がわかりません。誰かが助けてくれますか?TimePickerのキャッチキャンセルまたはキャンセル

private TimePickerDialog.OnTimeSetListener mTimeSetListener = 
      new TimePickerDialog.OnTimeSetListener() { 
       public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
        mHour = hourOfDay; 
        mMinute = minute; 
        time = ""+mHour+":"+mMinute; 
        notifications(); 
       } 
    }; 



@Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case TIME_DIALOG_ID: 
      return new TimePickerDialog(this, 
        mTimeSetListener, mHour, mMinute, false); 
     } 
     return null; 
    } 

編集:作業コードは次のとおりです。セットをクリックすると、それが問題になります。それ以外はチェックボックスを削除しました。

 @Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case TIME_DIALOG_ID: 
      TimePickerDialog myTime = new TimePickerDialog(this,mTimeSetListener, mHour, mMinute, false); 
      myTime.setOnCancelListener(new OnCancelListener(){ 
       CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox1); 
       public void onCancel(DialogInterface dialog) { 
        Log.d("IN HERE","HERE2"); 
        cbChecked = false; 
        notValue = 0; 
        checkBox.setChecked(false); 
        checkBox.setText("Use reminders"); 
       } 
      }); 
      return myTime; 
     } 
     return null; 
    } 

答えて

1

代わりの直接TimePickerDialogを返すあなたはonCreateDialog方法にあるように、あなたはそれをインスタンス化し、onCancelリスナーを追加する必要があります。

... 
case TIME_DIALOG_ID: 
    TimePickerDialog myTime = new TimePickerDialog(this,yourListener, h, m, false); 
    myTime(new DialogInterface.OnCancelListener(){ 
     @Override 
     public void onCancel(DialogInterface arg0) { 
     //your stuff 
     } 
    );//For cancel button 

    return myTime; //Return the dialog 
break; 
... 
+0

ありがとうございました。私はまだエラーが発生しています。私の質問で編集したセクションをご覧ください。 – Den

+0

ときどき 'onCancel'イベントが何らかの理由で' onDismiss'メソッドで処理されることがあるので、setOnCancelListener'で 'setOnDismissListener'を使って行ったことと同じことを試してみてください(実際の名前であればわかりません)。 –

+0

ありがとう。しましょう。 – Den

関連する問題