Android Date Picker, помогите! - PullRequest
0 голосов
/ 21 июля 2011

Мне нужна небольшая помощь.
В моем приложении пользователю нужно выбрать один интервал даты (при нажатии одной кнопки), и я не знаю, как это сделать с помощью выбора даты!

Я следую этому примеру: http://developer.android.com/resources/tutorials/views/hello-datepicker.html, но у меня есть два вопроса об этом уроке ...

1) Как я могу сделать, какое событие onClick называется DatePickerDialog.OnDateSetListener (в случаегде у меня есть два EditText, которые, когда пользователь нажимает на один, приложение показывает диалог выбора даты)

2) Как я могу вызвать onClick два раза после того, как пользователь нажмет одну кнопку?

tnhx!Извините за плохой английский!

1 Ответ

0 голосов
/ 10 февраля 2012

Итак, из вашего объяснения, вы хотите создать палитру интервалов дат одним нажатием кнопки. Используя аналогию из вашего примера, вы должны сделать следующее:

// 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();
    }
};

Когда вы запустите ваше приложение, второй сборщик появится сразу после окончания первого.

Позже вы можете оптимизировать этот код, добавить пользовательские средства выбора и т.д ... Если кто-нибудь знает, как лучше создать ИНТЕРВАЛ ПИКЕР ДАТЫ , пожалуйста, сообщите нам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...