Android ListView, показать сообщение, если arrayList arrayAdapter пуст


Мне нужна помощь. У меня есть Listview.setListAdapter(адаптер массива) и массива адаптер есть коллекция ArrayList.

Если мой arrayList пуст, он показывает загрузку изображений, это нормально, но как я могу показать сообщение, если мой arrayList пуст? Заранее спасибо. Введите описание изображения здесь

2 5

2 ответа:

Наиболее распространенным способом является установка пустого textview (@android:id/empty) после listview:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<ListView
    android:id="@android:id/list"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:dividerHeight="1dp" >
</ListView>

<TextView 
    android:id="@android:id/empty"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/empty_list" />

</LinearLayout>

И затем set установите пустое представление в listview:

ListView lv = (ListView)findViewById(android.R.id.list);
TextView emptyText = (TextView)findViewById(android.R.id.empty);
lv.setEmptyView(emptyText);

Это должно показывать элементы в списке, когда они есть, и показывать textview, когда нет.

С тостом.

if(list == null || list.size() == 0)
    Toast.makeText(context, "The list is empty", Toast.LENGTH_SHORT).show();