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

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

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

Определение id записи для обновления - Android

04.07.2013, 23:01. Просмотров 469. Ответов 6
Метки нет (Все метки)

У меня есть таблица с великим множеством ячеек с TextView, при нажатии на одну из ячеек появляется TimePickerDialog, где пользователь выбирает время, которое затем должно отобразиться в данном TextView, а также добавиться в базу данных(которая уже содержит таблицу и столбцы для этой информации, нужно просто обновить их значения).
При попытке реализовать это у меня возникли следующие проблемы:
1) Как после выбора времени в TimePickerDialog присвоить выбранное значение указанному TextView? Таблица со всем содержимым генерируется автоматически, есть массивы с ячейками этой таблицы, но как передать индекс нужной ячейки?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
protected Dialog onCreateDialog(int id) {
          if (id == DIALOG_TIME_ID) {
            TimePickerDialog tpd = new TimePickerDialog(this, myCallBack, hour, minute, true);
            return tpd;
          }
          return super.onCreateDialog(id);
        }
     
     OnTimeSetListener myCallBack = new OnTimeSetListener() {
            public void onTimeSet(TimePicker view, int hourOfDay, int minuteOfHour) {
             // здесь нужно обновить нужный TextView
            }
          };
2) Та же проблема с добавлением записей в БД - как обновить запись с ID, соответствующим выбранной ячейке?
Java
1
2
3
4
5
6
7
8
tvArray.elementAt(i).setOnClickListener(new OnClickListener() {
 
@Override
public void onClick(View v) {
showDialog(DIALOG_TIME_ID);
// здесь должно обновляться значение в БД
}
});
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.07.2013, 23:03     Определение id записи для обновления #2
в onClick вы получаете View по которому кликнули.
qvazar
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 37
05.07.2013, 00:02  [ТС]     Определение id записи для обновления #3
Да, но как изменить этот View(в данном случае - изменить текст)?
setText к нему не применить, т.к. в данном случае TextView этот представлен в виде своего класса-родителя View, у него нет этого метода.
Можно ли как-то напрямую это сделать? Или нужно массив с TextView делать глобальным, а в onClick сравнивать каждый элемент этого массива с данным объектом View?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 00:17     Определение id записи для обновления #4
кастинг? не, не слышали.
qvazar
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 37
05.07.2013, 00:27  [ТС]     Определение id записи для обновления #5
Если бы мне надо было получить текст из этого TextView, я бы написал что-нибудь типа
Java
1
2
TextView tv = (TextView) view;
String text = tv.getText().toString();
Но мне надо изменить сам view, как это сделать?
P.S. извиняюсь, если спрашиваю слишком очевидное.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 00:45     Определение id записи для обновления #6
Java
1
2
TextView tv = (TextView) view;
tv.setText(text);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2013, 00:52     Определение id записи для обновления
Еще ссылки по теме:

Android Кнопка обновления окна приложения
Проблемы с установкой Android Studio для учетной записи "Гость" Android
Как создать кнопку обновления Android
Android Программа вылетает после обновления на 5.0
Android Выпуск обновления для Google Play

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

Или воспользуйтесь поиском по форуму:
qvazar
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 37
05.07.2013, 00:52  [ТС]     Определение id записи для обновления #7
Тогда прошу прощения, просто я думал, что таким образом не будет изменен view, полученный в onClick(). Все оказалось намного проще.
Yandex
Объявления
05.07.2013, 00:52     Определение id записи для обновления
Ответ Создать тему
Опции темы

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