Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
1

Передача id в TimePickerDialog

24.09.2014, 16:04. Просмотров 456. Ответов 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 16:04
Ответы с готовыми решениями:

Не могу реализовать TimePickerDialog
Доброго времени суток! Делаю приложение, которое будет изменять громкость телефона в назначенное...

TimePickerDialog: как установить время?
Подскажите как мне сделать так чтобы пользователь сам устанавливал время Receiver public...

Передача ссылки в конструктор (передача данных между формами)
Из темы &quot;Ответы на 7 самых частых вопроса по WinForms&quot; Реализовал метод № 2.3 без проблем, а вот...

Передача нескольких параметров в pthread_create (передача структуры)
Здравствуйте. Мне нужно передать последним параметром в функцию pthread_create следующую структуру...

Передача значения и передача переменной
объясните мне разницу...и с кодами пожалуйста...думаю передача значений это через...


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

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

Добавлено через 9 минут
например, в selected_item заменив TextView на "", у нас останется только цифра, которую можно прикрутить до функции определения айди по имени, и в итоге, все кейсы вместе со свичем замещаются одной строкой кода.. главное, чтобы циферки изначально совпадали (правильно переименовать)
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru