Интерфейс, диалоги, темы, стили, меню
-
iandryxa
- Сообщения: 58
- Зарегистрирован: 23 янв 2014, 20:40
Сообщение
iandryxa » 16 май 2014, 20:31
Всем доброго времени суток!
Ребят возникла такая проблема, есть список, но когда пользователь заходит в него первый раз, перед ним предстает пустое пространство, необходимо чтобы ListView переключался между представлениями если в нем нет никаких элементов или же есть хотя бы один. Знаю что необходимо в xml создать преставление FrameLayout который будет корневым элементом для ListView и вторым преставлением.
Но не особо понимаю работу с методом
Если кто знает объясните плиз, буду очень признателен)
-
Viewer
- Сообщения: 180
- Зарегистрирован: 30 апр 2014, 11:42
Сообщение
Viewer » 16 май 2014, 20:55
Вы можете прямо в разметке со своим ListView создать любой View c android:id="@id/android:empty" который автоматически будет использоваться взамен пустого списка. Этот View не обязательно должен быть FrameLayout можно использовать любой View, довольно часто используют, к примеру, ТехтView с каким-то текстом (как в уроке 109)
-
iandryxa
- Сообщения: 58
- Зарегистрирован: 23 янв 2014, 20:40
Сообщение
iandryxa » 17 май 2014, 10:14
Viewer писал(а):Вы можете прямо в разметке со своим ListView создать любой View c android:id="@id/android:empty" который автоматически будет использоваться взамен пустого списка. Этот View не обязательно должен быть FrameLayout можно использовать любой View, довольно часто используют, к примеру, ТехтView с каким-то текстом (как в уроке 109)
ОК спасибо большое за помощь, но возник такой вопрос, например если вместо TextView использовать Button, по нажатию а который открывается другой фрагмент, то как повесить на него обработчик, его id не сохраняется в R.java, или же нет?
-
Viewer
- Сообщения: 180
- Зарегистрирован: 30 апр 2014, 11:42
Сообщение
Viewer » 17 май 2014, 11:02
Сам не проверял, не было необходимости, но думаю, что этот view вполне должен быть доступен в коде по идентификатору android.R.id.empty
Я в одном из приложений в качестве empty-view использовал RelativeLayout (с id android:empty) в котором у меня была кнопка, прогрессбар и текстовое сообщение, в зависимости от ситуации я скрывал или показывал нужные компоненты и менял сообщение в TextView. К примеру, если ListView пуст по причине, что информация находится в процессе загрузки, в TextView у меня было сообщение: "Загрузка..." и показывался прогрессбар. Если во время загрузки произошла ошибка, обрыв связи и т.п., то в TextView появлялось соответствующее сообщение, прогрессбар скрывался и появлялась кнопка, предлагающая пользователю повторить загрузку.