在我的看法我有一個按鈕,當按下彈出一個DatePickerDialog。 poppedup對話框有一個「完成」按鈕。當我按下該按鈕時,所選日期被填充到EditText框中。解除DatePickerDialog上按下按鈕
現在,當我按下後退按鈕()時,它仍然在EditText中填充日期。如何解除對話框而不返回任何值。
這是代碼我GOT-
它調用片段的活性:
public class TransactionActivity extends FragmentActivity implements iRibbonMenuCallback {
.....
public void selectDate(View view) {
// This is the method invoked by the button
SelectDateFragment newFragment = new SelectDateFragment();
newFragment.show(getSupportFragmentManager(), "DatePicker");
}
public void populateSetDate(int year, int month, int day) {
// Puts the date in the EditText box
mEdit = (EditText)findViewById(R.id.DateText);
mEdit.setText(month+"/"+day+"/"+year);
}
}
一種用於對話框(基於this頁上的Android API導軌上)片段:
public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), this, yy, mm, dd);
}
public void onDateSet(DatePicker view, int yy, int mm, int dd) {
// Calls a method on the activity which invokes this fragment
((TransactionActivity)getActivity()).populateSetDate(yy, mm+1, dd);
}
}
似乎沒有類似於onDataSet的方法來處理未設置數據的情況。
有沒有辦法取消/解僱彈出datepicker沒有得到它的價值?
謝謝。
這似乎並沒有工作。這是我的嘗試: \t'dialog.setOnKeyListener(新Dialog.OnKeyListener(){ \t \t @覆蓋 \t \t公共布爾安其(DialogInterface爲arg0,INT的keyCode, KeyEvent的事件){ \t \t \t如果(鍵代碼== KeyEvent.KEYCODE_BACK){ \t \t \t \t dialog.dismiss();} 返回false; \t} });' – Bharat 2013-03-08 07:31:25