Android ListView sans item message texte aucun élement
Par PlaceOweb le jeudi, octobre 30 2014, 13:37 - JAVA - Lien permanent
Voici comment mettre par défaut un texte indiquant qu'il n'y a pas d'item dans la liste
Pour faire un "android listview empty message", il suffit de rajouter une View (TextView pour faire simple), et de définir la vue vide à afficher si la ListView est vide à travers .setEmptyView()
De ce fait, le TextView déclaré dans le XML est automatiquement cachée s'il y a des items, et à l'inverse si aucun item alimente la ListView, alors le TextView est affiché.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MyListActivity" > <ListView android:id="@id/android:list" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_above="@+id/spinnerSort" /> <TextView android:id="@android:id/empty" android:layout_width="fill_parent" android:layout_height="fill_parent" style="@android:style/TextAppearance.Large" android:gravity="center" android:text="Aucun Element" /> </RelativeLayout>
// Set list adapter myObjectAdapter = new MyObjectArrayAdapter(this, new ArrayList<MyObject>()); getListView().setAdapter(myObjectAdapter ); TextView emptyText = (TextView) findViewById(android.R.id.empty); getListView().setEmptyView(emptyText);
- setEmptyView(View emptyView) Sets the view to show if the adapter is empty
- Android displaying text when ListView is empty If you are using a ListActivity you do not need to call setEmptyView() on the ListView since the ListActivity automatically manages that for you.
- Android – ListView => setEmptyView() By using setEmptyView() of ListView, we can set the view and can appear in the screen whenever the adapter is empty.
- Android ListView,show a message if arrayList of arrayAdapter is empty This should show items in the list whenever they are, and show the textview when not.
- Display “No Item” message in ListView