![]() |
Модераторы: javastic |
![]() ![]() ![]() |
|
Abbath1349 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 16.6.2010 Репутация: нет Всего: нет |
Подскажите у меня есть проблема в Android у меня есть диалог со списоком из базы данных, когда я добавляю новую запись в базу данных и снова вызываю диалог там её нету приходиться перезапускать Activity можно это исправить?
Код:
|
||||
|
|||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 1 Всего: 72 |
Два способа:
1. Более простой, но идеологически неправильный, но работает При закрытии диалога вместо dismissDialog(CLIENT_DIALOG_ID); вызвать removeDialog(CLIENT_DIALOG_ID); 2. Идеологически правильный, но более сложный Переопределить наряду с protected Dialog onCreateDialog(int id, Bundle args); также protected void onPrepareDialog(int id, Dialog d, Bundle args); в котором заменять items. Предпочтительнее не String[] items, а List<String> items. А возможно даже лучше использовать не builder.setItems(items, listener); а builder.setAdapter(adapter, listener); Получить обратно адаптер в onPrepareDialog можно так: adapter = ((AlertDialog)d).getListView().getAdapter(); Это сообщение отредактировал(а) math64 - 11.8.2012, 21:49 |
|||
|
||||
Abbath1349 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 16.6.2010 Репутация: нет Всего: нет |
вариант с removeDialog не работает к сожелению
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Android | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |