/ / ListView.SeptEmptyView jest zawsze wyświetlany nawet wtedy, gdy na liście znajdują się elementy - android, android-listview, android-fragmenty

ListView.SeptEmptyView jest zawsze wyświetlany nawet wtedy, gdy na liście znajdują się elementy - android, android-listview, android-fragmenty

EmptyView w ListView jest zawsze wyświetlany, nawet jeśli istnieją pozycje w ListView. Używam SherlockFragment i pokazuję ListView kod jest następujący:

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));

i 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" />

Więc po pobraniu wyników z serweraTextView jest nadal wyświetlany na ekranie i widzę tekst No Results na ekranie i jednocześnie są pozycje na liście. Co muszę zmienić, aby @android: id / empty wyświetlał się tylko wtedy, gdy na liście nie ma żadnych elementów? Dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

Nie zaglądając do źródła, mogę wymyślić 3 możliwe błędy,

  1. ListView nie ma ustawionego adaptera.

  2. Jeśli adapter zostanie ponownie zaimplementowany, czy metoda getCount () zostanie poprawnie zaimplementowana ponownie?

  3. czy musisz zadzwonić do notifyDatasetChanged ()? Po pobraniu treści z serwera.