2017-01-24 57 views
0

方法TimePickerDialog()的第五個參數始終爲false,除第一次外,布爾值檢查沒有傳遞給對話框的onCreate。複選框和時間對話框

這裏是我的代碼:

checkBox.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (checkBox.isChecked()) { 
      check = true; 
      checkBox.setText("24 Format is set"); 
     } else { 
      check = false; 
      checkBox.setText("AM/PM Format is set"); 
     } 
    } 
}); 

protected Dialog onCreateDialog(int id) { 
    switch (id) { 
     case IDD_DLG: 
      Calendar c = Calendar.getInstance(); 
      mHour = c.get(Calendar.HOUR_OF_DAY); 
      mMimute = c.get(Calendar.MINUTE); 

      return new TimePickerDialog(this, mlistener, mHour, mMimute, check); 

     default: 
      return null; 
    } 
} 

我使用狀態的方法,設置5 PARAM。但問題仍然存在:

private Boolean status() { 
    if (checkBox.isChecked()) 
     return true; 
    else 
     return false; 
} 

回答

0

使用另一種方法調用時間選取器對話框,而不是一個方法。用這個替換你的按鈕setOnClickListener()。

but.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Log.d("checcccked", check + "2"); 

      TimePickerDialog timePickerDialog = new TimePickerDialog(Activity_activity.this, 
        new TimePickerDialog.OnTimeSetListener() { 
         @Override 
         public void onTimeSet(TimePicker view, int hourOfDay, 
               int minute) { 
          mHour = hourOfDay; 
          mMimute = minute; 
          update(); 
         } 
        }, mHour, mMimute, check); 
      timePickerDialog.show(); 
     } 
    }); 
+0

謝謝你的回答,但代碼不起作用correctlu再次。我嘗試了2條提供Akash Patel和Karun Shrestha的路徑。 –

+0

您可以發送給我[email protected]的項目嗎? –

+0

謝謝。我在您的電子郵件中發送了代碼。 –