Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
#1

Передача id в TimePickerDialog - Android

24.09.2014, 16:04. Просмотров 401. Ответов 3
Метки нет (Все метки)

У меня в программе есть 6 TextView. Нажимая на который появляется свой TimePickerDialog и после выбора времени мне нужно что бы в именно тот TextView который я нажимал впихивалось выбранное время, вот кусок кода:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
protected Dialog onCreateDialog(int id) {
          if (id<=6) {
            TimePickerDialog tpd = new TimePickerDialog(this, myCallBack, 0, 0, true);
            return tpd;
          }
          return super.onCreateDialog(id);
        }
    OnTimeSetListener myCallBack = new OnTimeSetListener() {
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            int set_hour = 0;
            int set_min = 0;
            
            if(minute>=15){
                set_hour = hourOfDay+1;
                set_min = 45-(60-minute);
            } else {
                set_hour = hourOfDay;
                set_min = minute+45;
            }
            
            Toast.makeText(getApplicationContext(), String.valueOf(view.getId()), Toast.LENGTH_SHORT).show();
            /*TextView hour = (TextView) findViewById();
            hour.setText("" + setFormatP(hourOfDay) + ":" + setFormatP(minute));
            /*TextView hour2 = (TextView) findViewById(R.id.hour_and_minut_end);
            hour2.setText("" + setFormatP(set_hour) + ":" + setFormatP(set_min));*/
        }
     };
В onCreateDialog передается id этого TextView, как мне его же передать в public void onTimeSet что бы там используя его добавить время в нужный TextView
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 16:04     Передача id в TimePickerDialog
Посмотрите здесь:

Передача SQLiteDatabase из namespace Android
Android Layout передача данных
Передача данных звуком Android
передача результата в onActivityResult Android
Android Передача звука
Передача параметров по ссылке Android
Передача значений в массив Android
Передача данных Android
Передача по TCP Android
Android Интернет. Передача данных
Android Передача текста в кнопку
Не могу реализовать TimePickerDialog Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
24.09.2014, 23:23     Передача id в TimePickerDialog #2
EgorDybovik, честно говоря, не понял. Вы хотите при нажатии на какой-либо из TextView выводить часы с возможностью выбора времени, а потом выбранное время возвращать в TextView?
Думаю, нужно в onCreate формы создать 6 переменных (типа TextView), связать их с компонентами на форме. Затем сделать обработчики нажатий на TextView. Можно, например, создать какую-то 7-ую переменную, которая будет ссылаться на нажатый в данный момент TextView. Ну а дальше этому TextView уже можно присвоить выбранное время, по-моему, в методе onTimeSet.
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
24.09.2014, 23:27  [ТС]     Передача id в TimePickerDialog #3
Сделал уже сам почти так же ) Вы меня правильно поняли, по поводу вешать события на TextView это все понятно... Мне было непонятно именно один момент это как потом в onTimeSet именно в тот TextView на который нажали записывать выбранное время, я создал глобальную переменную в которую записываю id на какую TextView нажали и ее использую в onTimeSet. Я просто думал что как то можно проще сделать)
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
25.09.2014, 00:11     Передача id в TimePickerDialog #4
Цитата Сообщение от EgorDybovik Посмотреть сообщение
просто думал что как то можно проще сделать
в некоторых случаях проще работать с именами вьюшок, чем с айди:
Java
1
String selected_item = getResources().getResourceEntryName(item.getItemId());
и уже по имени нетрудно определить, что это было тыцьнуто (даже наглядно, тоастами при дебаге), избежав создания лишних переменных и проверок..

Добавлено через 9 минут
например, в selected_item заменив TextView на "", у нас останется только цифра, которую можно прикрутить до функции определения айди по имени, и в итоге, все кейсы вместе со свичем замещаются одной строкой кода.. главное, чтобы циферки изначально совпадали (правильно переименовать)
Yandex
Объявления
25.09.2014, 00:11     Передача id в TimePickerDialog
Ответ Создать тему
Опции темы

Текущее время: 04:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru