I’m setting a TextView with the id @android:id/empty to display a message when there are no items in the ListView. However, this TextView gets displayed even if there are items in the ListView, right before the items show up.
How can I make it such that it only gets displayed when there are no elements in the 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="fill_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>
PS: I’m using a Loader and a SimpleCursorAdapter with a ListFragment.
I’m guessing you are using a regular
FragmentorActivitywith aListViewinside of it. If you are, you must add the empty layout to theListViewmanually.E.g.
Then your
ListViewwill automatically use this view when its adapter is emptyIf you are using a
ListActivityyou do not need to callsetEmptyView()on theListViewsince theListActivityautomatically manages that for you.