Как получить выбранное время с TimePicker’a
Надо мне тут было в программулинке сделать выбор времени. Накидал быстренько layout, добавил на него TimePicker, пару кнопок – вырбать/отмена. На нужную кнопку добавил вызов этой активности и … ничего. По нажатию на кнопку “выбрать” Я постоянно получал текущее время через методы:
TimePicker.getCurrentHour(); TimePicker.getCurrentMinute(); |
После курения мануалов, stackoverflow’а и книжки Pro Android оказалось, что для выбора времени существует специальный TimePickerDialog, который то и нужно использовать. И использовать его нужно следующим образом.Создаём в нашем классе переменные, в которых будет хранится время (час и минута):
private int mHour = 0; private int mMin = 0; |
Создаём слушателя, который будет вызываться при изменении времени в TimePicker’е:
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker timePicker, int hour, int minute) { mHour = hour; // устанавливаем часы mMin = minute; // устанавливаем минуты updateTextView(); // обновляем TextView } }; private void updateTextView() { TextView tw = (TextView)this.findViewById(R.id.time); // ищем TextView tw.setText(pad(mHour) + ":" + pad(mMin)); // устанавливаем текст } |
Ну и в нужном месте вызываем наше диалоговое окно:
@Override protected Dialog onCreateDialog(int id) { switch (id) { case TIME_DIALOG_ID: // если наш диалог return new TimePickerDialog(this, mTimeSetListener, mHour, mMin, true); } return null; } public void setTime(View view) { showDialog(TIME_DIALOG_ID); // вызов диалога } |
Аналогично работает и DatePickerDialog.
Проект IDEA. Скачать пример Как получить выбранное время с TimePicker’a.
Ничего не понял, но одобряю :)
ну так ты начинай понимать! не маленький уже! :)
и ещё, расскажи мне, каким образом ты не попадаешь в модерацию? ) а сразу в комментарии?)
Какую такую модерацию? =)
когда пишешь коммент 99% комментариев попадают в модерацию, а мне приходит уведомляшка: approve it!
а ты сразу сюда вылезаешь)
Я – доверенное лицо Императора )))
О, отлично. Спасибо. Особенно за проект во вложении.
Мне вот тоже не понятно, нафига тогда нужен этот TimePicker как таковой, отдельно…