我需要一点帮助。
在我的应用程序中,用户需要选择一个日期间隔(按下一个按钮),并且我不知道如何使用日期选择器执行此操作!
我正在关注此示例:http://developer.android.com/resources/tutorials/views/hello-datepicker.html,但我对本教程有两个问题......
1)如何执行名为DatePickerDialog.OnDateSetListener的onClick事件(在我有两个EditText的情况下,当用户点击其中时,应用程序显示日期选择器对话框)
2)用户按下一个按钮后,如何调用onClick两次?
tnhx! 抱歉英文不好!
答案 0 :(得分:0)
因此,根据您的解释,您只需点击一下按钮即可创建日期间隔选择器。 通过使用您的示例中的类比,您必须执行以下操作:
// create two constants
static final int DATE_DIALOG_FROM = 0;
static final int DATE_DIALOG_TO = 1;
// create case for two pickers
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_FROM:
return new DatePickerDialog(this, fromDateSetListener, mYear, mMonth,mDay);
case DATE_DIALOG_TO:
return new DatePickerDialog(this, toDateSetListener, mYear, mMonth,mDay);
}
return null;
}
// create two listeners for both of the cases
private DatePickerDialog.OnDateSetListener fromDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Toast.makeText(AccountsActivity.this,"From:" + year+"."+monthOfYear+"."+dayOfMonth, Toast.LENGTH_SHORT).show();
showDialog(DATE_DIALOG_TO);
}
};
private DatePickerDialog.OnDateSetListener toDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
Toast.makeText(AccountsActivity.this,"To:" + year+"."+monthOfYear+"."+dayOfMonth, Toast.LENGTH_SHORT).show();
updateDisplay();
}
};
当您运行应用程序时,第二个选择器将在第一个完成后立即显示。
稍后您可以优化此代码,添加自定义选择器等... 如果有人知道创建 DATE INTERVAL PICKER 的更好方法,请告诉我们!