Il emptyView in un ListView è sempre mostrato anche quando ci sono record nel ListView. Sto usando SherlockFragment e sto visualizzando ListView il codice è il seguente:
ViewGroup vg = (ViewGroup) getActivity().getLayoutInflater().inflate(
R.layout.header_file, hotelListView, false);
hotelListView.addHeaderView(vg, null, false);
hotelListView.setOnItemClickListener(this);
hotelListView.setEmptyView(view.findViewById(R.id.empty));
e l'xml:
<ListView
android:id="@+id/hotel_list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:paddingLeft="8dp"
android:persistentDrawingCache="scrolling"
android:scrollingCache="false" >
</ListView>
<TextView
android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="No Results" />
Quindi, dopo aver recuperato i risultati dal serveril TextView è ancora mostrato sullo schermo e posso vedere il testo Nessun risultato sullo schermo e nello stesso tempo ci sono elementi nella lista. Cosa devo cambiare in modo che @android: id / empty venga visualizzato solo quando non ci sono elementi nella lista? Grazie
risposte:
1 per risposta № 1Senza guardare alla fonte, posso pensare a 3 possibili errori,
ListView non ha il set di adattatori.
Se l'adattatore viene reimplementato, il metodo getCount () è correttamente implementato?
devi chiamare notifyDatasetChanged ()? Dopo che il contenuto è stato recuperato dal server.