Страница 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, но что-то никак не могу найти как это сделать.
Вызывайте

Код: Выделить всё

tpd.onClick(dialog, which);
в вашем обработчике

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
ТОЛЬКО на этом сайте. Плюс учебник английского.