По какой-то причине пустое представление, в данном случае TextView , всегда появляется, даже если ListView не является пустым. Я думал, что ListView автоматически определит, когда показывать пустое представление.
<RelativeLayout android:id="@+id/LinearLayoutAR"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<ListView android:id="@+id/ARListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"></ListView>
<ProgressBar android:id="@+id/arProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"></ProgressBar>
<!-- Here is the view to show if the list is emtpy -->
<TextView android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="No Results" />
</RelativeLayout>
Как правильно подключить пустой вид?
При расширении
FragmentActivity
илиActivity
и неListActivity
, вы хотите взглянуть на:ListView.setEmptyView ()
источник
Как говорит appsthatmatter, в макете что-то вроде:
и в связанной деятельности:
Также работает с GridView ...
источник
Я перепробовал все вышеперечисленные решения. Я придумал решение проблемы. Вот выкладываю полное решение.
Файл XML :
TextView ( "@ + id / emptyElement" ) является заполнителем для пустого списка.
Вот код для страницы Java:
Не забудьте поместить emptyView после привязки адаптера к listview.Mine не работал в первый раз, и после того, как я переместил setEmptyView после setAdapter, он теперь работает.
Вывод:
источник
android:layout_below="@+id/lv_msglist"
для emptyElementЯ настоятельно рекомендую вам использовать ViewStubs, как это
Смотрите полный пример от Кирилла Мотье
источник
Это четко работает с FragmentActivity, если вы используете библиотеку поддержки. Протестировал это, построив для API 17 то есть изображение 4.2.2.
источник
Код активности, его важно расширять
ListActivity
.Макет XML, идентификатор в обоих представлениях важны.
источник
Просто добавьте, что вам не нужно создавать новые идентификаторы, что-то вроде следующего будет работать.
В макете:
Тогда в деятельности:
источник
У меня была эта проблема. Мне пришлось заставить мой класс расширять ListActivity, а не Activity, и переименовать мой список в XML в
android:id="@android:id/list"
источник
Программным решением будет:
источник
Сначала проверьте, что список содержит некоторые значения:
Если все в порядке, в противном случае используйте:
источник
list
?