Android日期选择器帮助!

时间:2011-07-20 23:03:13

标签: android datepicker

我需要一点帮助。
在我的应用程序中,用户需要选择一个日期间隔(按下一个按钮),并且我不知道如何使用日期选择器执行此操作!

我正在关注此示例:http://developer.android.com/resources/tutorials/views/hello-datepicker.html,但我对本教程有两个问题......

1)如何执行名为DatePickerDialog.OnDateSetListener的onClick事件(在我有两个EditText的情况下,当用户点击其中时,应用程序显示日期选择器对话框)

2)用户按下一个按钮后,如何调用onClick两次?

tnhx! 抱歉英文不好!

1 个答案:

答案 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 的更好方法,请告诉我们!