Страница 1 из 2
Урок 58. Диалоги. TimePickerDialog
Добавлено: 20 фев 2012, 03:00
damager82
В этом уроке:
- используем TimePickerDialog
[url=
http://www.startandroid.ru/ru/uroki/vse ... l:17et6qx9]Click here to read this article![/url:17et6qx9]
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 06 мар 2012, 18:51
KamiSempai
Сейчас залез на
http://developer.android.com, почитать про showDialog.
Что я там увидел:
This method is deprecated.
Use the new DialogFragment class with FragmentManager instead; this is also available on older platforms through the Android compatibility package.
Оказывается showDialog является "осуждаемым" методом. Гугл предлагает использовать класс DialogFragment, API Leve которого 11 (а это, между прочим, Android 3.0).
Подумал я, подумал, и положил здоровенный болт на советы Гугла.
Собственно говоря, возник вопрос. Во что может вылиться использование "Deprecated" классов и методов?
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 06 мар 2012, 20:09
яфпкк
KamiSempai писал(а):Во что может вылиться использование "Deprecated" классов и методов?
ну ответ как бы очевиден, после выхода очередной версии андроида, программы, использующие deprecated объекты, перестанут запускаться
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 23 авг 2012, 11:15
IlyaZh
А как сделать обработчик для двуx окон? Мне надо чтобы пользователь указывал время начала работы и время окончания работы. Как в обработчике вот отделить иx и записать значения в разные места? Посоветуйте чего. Спасибо
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 29 авг 2012, 16:27
damager82
IlyaZh писал(а):А как сделать обработчик для двуx окон? Мне надо чтобы пользователь указывал время начала работы и время окончания работы. Как в обработчике вот отделить иx и записать значения в разные места? Посоветуйте чего. Спасибо
Два диалога, у каждого свой обработчик OnTimeSetListener. Или я не понял вопрос?
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 16 сен 2012, 20:13
powercat
Хочу диалог выбора времени перед нажатием на выход.
Вот в таком виде не отображается
Код: Выделить всё
case R.id.btnOut:
showDialog(REMIND_TIME_DIALOG);
Intent PlantService=new Intent(this,MyService.class);
PlantService.putExtra("pathTo", GlobalData.pathTo);
PlantService.putExtra("remindTimeH",myHour);
PlantService.putExtra("remindTimeM",myMinute);
startService(MyService);
finish();
break;
А вот в таком отображается
Код: Выделить всё
case R.id.btnOut:
showDialog(REMIND_TIME_DIALOG);
//Intent PlantService=new Intent(this,MyService.class);
//PlantService.putExtra("pathTo", GlobalData.pathTo);
//PlantService.putExtra("remindTimeH",myHour);
//PlantService.putExtra("remindTimeM",myMinute);
//startService(MyService);
//finish();
break;
Когда не отображается, то при использовании дебагера при проходе строки с диалогом проходит примерно полсекунды, но сам диалог мелькнул и пропал.
Как сделать, чтобы от отобразился, когда за ним идут следующие действия?
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 18 сен 2012, 13:32
powercat
Хм...неужели у всех есть задержка до ожидания выбора пользователем и только у меня нет? (((
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 19 сен 2012, 12:09
powercat
Проблема решена
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 23 окт 2012, 23:38
Василь
Можна как-то задать размер???
уж очень большой получается
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 18 янв 2013, 11:45
Artemko
Как брать время из TimePicker'a в там формате: "HH:mm"? проблема такая, напрbмер время 09:03, а в TextView показывает 9:3, тоесть без нулей, это как-то некрасиво выглядит)
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 18 янв 2013, 20:18
rezak90
у него есть методы:
Integer getCurrentHour()
Integer getCurrentMinute()
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 21 янв 2013, 06:37
rwivan
Всем, здравствуйте!
Есть проблема:
Я использую свои кнопки в диалоге TimePickerDialog
Код: Выделить всё
TimePickerDialog tpd = new TimePickerDialog(activity, new OnTimeSetListener()
{
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
Log.d("myLogs", "Hour = " + Integer.toString(hourOfDay) + " Minute = " + Integer.toString(minute));
}
}, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), DateFormat.is24HourFormat(activity));
tpd.setButton(TimePickerDialog.BUTTON_POSITIVE, activity.getString(R.string.next),
new OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
});
tpd.setButton(TimePickerDialog.BUTTON_NEUTRAL, activity.getString(R.string.yes),
new OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
});
tpd.setButton(TimePickerDialog.BUTTON_NEGATIVE, activity.getString(R.string.cancel),
new OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
});
Проблема в том что метод onTimeSet не вызывается вообще.
Я думаю что самое логичное - это в обработчике BUTTON_POSITIVE вызывать какой-нибудь метод который бы инициировал onTimeSet, но что-то никак не могу найти как это сделать.
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 24 янв 2013, 14:06
damager82
rwivan писал(а):Я думаю что самое логичное - это в обработчике BUTTON_POSITIVE вызывать какой-нибудь метод который бы инициировал onTimeSet, но что-то никак не могу найти как это сделать.
Вызывайте
в вашем обработчике
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 09 май 2013, 17:59
Digetix
А как сделать, чтоб при нажатии на Отмена время, которое мы задали, осталось? То есть время по умолчанию например, 08:00, пользователь хотел сменить, меняет, но передумал и нажал Отмена. Снова открыл этот диалог, а там чтоб было снова 08:00. На вашем примере время сохраняется при нажатии на Отмена
rezak90 писал(а):у него есть методы:
Integer getCurrentHour()
Integer getCurrentMinute()
Эти методы всё равно дают время 8 часов 8 минут
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 09 май 2013, 19:01
Digetix
В общем сделал так:
Код: Выделить всё
OnTimeSetListener myCallBack = new OnTimeSetListener() {
public void onTimeSet(TimePicker tpd, int hourOfDay, int minute) {
myHourStart = hourOfDay;
myMinuteStart = minute;
String formattedTime = "";
int hourInt = tpd.getCurrentHour();
String sHour = "00";
if(hourInt < 10){
sHour = "0"+hourInt;
} else {
sHour = String.valueOf(hourInt);
}
int minuteInt = tpd.getCurrentMinute();
String sMinute = "00";
if(minute < 10){
sMinute = "0"+minuteInt;
} else {
sMinute = String.valueOf(minuteInt);
}
formattedTime = sHour+":"+sMinute;
}
};
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 09 май 2013, 19:28
rezak90
есть же форматеры, зачем руками делать?
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 10 май 2013, 12:35
Digetix
Какие? Пробовал это
Код: Выделить всё
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
String formatted = format.format(date);
Не срабатывал
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 29 сен 2013, 13:57
JeyAr
Подскажите плз, совсем мало опыта и знаний.
Задача такая: используя TimePickerDialog сравнить введённые данные с текущим временем и если они будут равны вывести сообщение на экран.
То есть, как я понимаю, мне требуется использовать System.currentTimeMillis() для получения текущего времени. Чтобы сравнить их с введёнными в TimePickerDialog, нужно данные о времени в часах и минутах из TimePicker конвертировать в миллисекунды.
Как это сделать?
Спасибо.
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 13 дек 2013, 12:27
shidiv
Народ, помогите найти общий язык со стандартным хелпом. Как мне увидеть все возможные константы для метода:
showDialog(int id);
Re: Урок 58. Диалоги. TimePickerDialog
Добавлено: 13 дек 2013, 12:35
Foenix
http://developer.android.com
ТОЛЬКО на этом сайте. Плюс учебник английского.