Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 24 апр 2017, 03:40

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 20 фев 2012, 04:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1323
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
В этом уроке:

- используем TimePickerDialog

Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 23 июн 2016, 22:18, всего редактировалось 3 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 06 мар 2012, 19:51 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 22:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Сейчас залез на 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" классов и методов?

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 06 мар 2012, 21:09 

Зарегистрирован: 21 фев 2012, 06:59
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
KamiSempai писал(а):
Во что может вылиться использование "Deprecated" классов и методов?

ну ответ как бы очевиден, после выхода очередной версии андроида, программы, использующие deprecated объекты, перестанут запускаться :(


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 23 авг 2012, 12:15 
Аватар пользователя

Зарегистрирован: 14 июл 2012, 10:52
Сообщений: 32
Откуда: Санкт-Петербург
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А как сделать обработчик для двуx окон? Мне надо чтобы пользователь указывал время начала работы и время окончания работы. Как в обработчике вот отделить иx и записать значения в разные места? Посоветуйте чего. Спасибо


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 29 авг 2012, 17:27 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1323
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
IlyaZh писал(а):
А как сделать обработчик для двуx окон? Мне надо чтобы пользователь указывал время начала работы и время окончания работы. Как в обработчике вот отделить иx и записать значения в разные места? Посоветуйте чего. Спасибо

Два диалога, у каждого свой обработчик OnTimeSetListener. Или я не понял вопрос?

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 16 сен 2012, 21:13 
Аватар пользователя

Зарегистрирован: 20 июл 2012, 12:31
Сообщений: 506
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Хочу диалог выбора времени перед нажатием на выход.
Вот в таком виде не отображается
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.                 case R.id.btnOut:
  2.                         showDialog(REMIND_TIME_DIALOG);
  3.                         Intent PlantService=new Intent(this,MyService.class);
  4.                         PlantService.putExtra("pathTo", GlobalData.pathTo);
  5.                         PlantService.putExtra("remindTimeH",myHour);
  6.                         PlantService.putExtra("remindTimeM",myMinute);
  7.                         startService(MyService);
  8.                         finish();
  9.                 break;

А вот в таком отображается
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.              case R.id.btnOut:
  2.                         showDialog(REMIND_TIME_DIALOG);
  3.                         //Intent PlantService=new Intent(this,MyService.class);
  4.                         //PlantService.putExtra("pathTo", GlobalData.pathTo);
  5.                         //PlantService.putExtra("remindTimeH",myHour);
  6.                         //PlantService.putExtra("remindTimeM",myMinute);
  7.                         //startService(MyService);
  8.                         //finish();
  9.                 break;

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 18 сен 2012, 14:32 
Аватар пользователя

Зарегистрирован: 20 июл 2012, 12:31
Сообщений: 506
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Хм...неужели у всех есть задержка до ожидания выбора пользователем и только у меня нет? (((


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 19 сен 2012, 13:09 
Аватар пользователя

Зарегистрирован: 20 июл 2012, 12:31
Сообщений: 506
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Проблема решена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 24 окт 2012, 00:38 

Зарегистрирован: 07 авг 2012, 00:29
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Можна как-то задать размер???
уж очень большой получается


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 18 янв 2013, 12:45 

Зарегистрирован: 16 июл 2012, 16:09
Сообщений: 26
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Как брать время из TimePicker'a в там формате: "HH:mm"? проблема такая, напрbмер время 09:03, а в TextView показывает 9:3, тоесть без нулей, это как-то некрасиво выглядит)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 18 янв 2013, 21:18 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 14:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
у него есть методы:
Integer getCurrentHour()
Integer getCurrentMinute()

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 21 янв 2013, 07:37 

Зарегистрирован: 21 янв 2013, 07:26
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем, здравствуйте!
Есть проблема:
Я использую свои кнопки в диалоге TimePickerDialog
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.     TimePickerDialog tpd = new TimePickerDialog(activity, new OnTimeSetListener()
  2.     {
  3.       public void onTimeSet(TimePicker view, int hourOfDay, int minute)
  4.       {
  5.         Log.d("myLogs", "Hour = " + Integer.toString(hourOfDay) + " Minute = " + Integer.toString(minute));
  6.       }
  7.     }, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), DateFormat.is24HourFormat(activity));
  8.     tpd.setButton(TimePickerDialog.BUTTON_POSITIVE, activity.getString(R.string.next),
  9.         new OnClickListener()
  10.         {
  11.           public void onClick(DialogInterface dialog, int which)
  12.           {
  13.           }
  14.         });
  15.     tpd.setButton(TimePickerDialog.BUTTON_NEUTRAL, activity.getString(R.string.yes),
  16.         new OnClickListener()
  17.         {
  18.           public void onClick(DialogInterface dialog, int which)
  19.           {
  20.           }
  21.         });
  22.     tpd.setButton(TimePickerDialog.BUTTON_NEGATIVE, activity.getString(R.string.cancel),
  23.         new OnClickListener()
  24.         {
  25.           public void onClick(DialogInterface dialog, int which)
  26.           {
  27.           }
  28.         });
  29.  


Проблема в том что метод onTimeSet не вызывается вообще.
Я думаю что самое логичное - это в обработчике BUTTON_POSITIVE вызывать какой-нибудь метод который бы инициировал onTimeSet, но что-то никак не могу найти как это сделать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 24 янв 2013, 15:06 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1323
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
rwivan писал(а):
Я думаю что самое логичное - это в обработчике BUTTON_POSITIVE вызывать какой-нибудь метод который бы инициировал onTimeSet, но что-то никак не могу найти как это сделать.


Вызывайте
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. tpd.onClick(dialog, which);
в вашем обработчике

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 09 май 2013, 18:59 

Зарегистрирован: 12 окт 2012, 16:31
Сообщений: 117
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
А как сделать, чтоб при нажатии на Отмена время, которое мы задали, осталось? То есть время по умолчанию например, 08:00, пользователь хотел сменить, меняет, но передумал и нажал Отмена. Снова открыл этот диалог, а там чтоб было снова 08:00. На вашем примере время сохраняется при нажатии на Отмена

rezak90 писал(а):
у него есть методы:
Integer getCurrentHour()
Integer getCurrentMinute()


Эти методы всё равно дают время 8 часов 8 минут


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 09 май 2013, 20:01 

Зарегистрирован: 12 окт 2012, 16:31
Сообщений: 117
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
В общем сделал так:
Код: [ Загрузить ] [ Скрыть ]
  1.           OnTimeSetListener myCallBack = new OnTimeSetListener() { 
  2.             public void onTimeSet(TimePicker tpd, int hourOfDay, int minute) { 
  3.                    myHourStart = hourOfDay; 
  4.                    myMinuteStart = minute; 
  5.  
  6.                    String formattedTime = ""; 
  7.                    int hourInt = tpd.getCurrentHour(); 
  8.                    String sHour = "00"; 
  9.                    if(hourInt < 10){ 
  10.                     sHour = "0"+hourInt; 
  11.                    } else { 
  12.                     sHour = String.valueOf(hourInt); 
  13.                    } 
  14.  
  15.                    int minuteInt = tpd.getCurrentMinute(); 
  16.                    String sMinute = "00"; 
  17.                    if(minute < 10){ 
  18.                     sMinute = "0"+minuteInt; 
  19.                    } else { 
  20.                     sMinute = String.valueOf(minuteInt); 
  21.                    } 
  22.  
  23.                    formattedTime = sHour+":"+sMinute; 
  24.                 } 
  25.              }; 


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 09 май 2013, 20:28 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 14:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
есть же форматеры, зачем руками делать?

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 10 май 2013, 13:35 

Зарегистрирован: 12 окт 2012, 16:31
Сообщений: 117
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Какие? Пробовал это
Код: [ Загрузить ] [ Скрыть ]
  1.         SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
  2.         String formatted = format.format(date); 

Не срабатывал


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 29 сен 2013, 14:57 

Зарегистрирован: 29 сен 2013, 14:51
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите плз, совсем мало опыта и знаний.

Задача такая: используя TimePickerDialog сравнить введённые данные с текущим временем и если они будут равны вывести сообщение на экран.
То есть, как я понимаю, мне требуется использовать System.currentTimeMillis() для получения текущего времени. Чтобы сравнить их с введёнными в TimePickerDialog, нужно данные о времени в часах и минутах из TimePicker конвертировать в миллисекунды.

Как это сделать?

Спасибо.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 13 дек 2013, 13:27 

Зарегистрирован: 03 дек 2013, 15:44
Сообщений: 14
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Народ, помогите найти общий язык со стандартным хелпом. Как мне увидеть все возможные константы для метода:
showDialog(int id);


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 58. Диалоги. TimePickerDialog
СообщениеДобавлено: 13 дек 2013, 13:35 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 13:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
http://developer.android.com
ТОЛЬКО на этом сайте. Плюс учебник английского.

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB