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