setEmptyView () no parece funcionar para (Sherlock) ListFragment
Tengo un ListFragment
y quiero fijar su opinión vacía, así que utilizo el código siguiente:
View emptyView = getLayoutInflater().inflate(R.layout.collection_empty_view, null); detailFragment.getListView().setEmptyView(emptyView);
para el siguiente diseño xml:
- Desplazar una Galería activa el estado presionado y elimina el escucha de clics de los sub-elementos
- ListView addHeaderView hace que la posición aumente en uno?
- cómo agregar una casilla de verificación en un listview?
- TextViews en la parte superior e inferior, el espacio restante lleno de ListView
- Imagen local a través de json local en android
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/empty" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" > <TextView android:id="@+id/tv_empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:text="@string/empty_collection" /> <Button android:id="@+id/btn_add_legislation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="addText" android:text="@string/action_add_text" /> </LinearLayout>
¡Pero nada aparece!
He intentado detailFragment.getListView().setEmptyText()
, y que funcionó! ¿Estoy haciendo algo mal?
- ListView / ExpandableListView setEmptyView () no tiene efecto
- Rellenar Listview de JSON
- Agregar CheckBox a la vista de fila ListView hace que la fila no haga clic
- Android: Utilizar SimpleCursorAdapter para obtener datos de la base de datos a ListView
- Extraño BUG en mi ListView (Android)
- Listado de beacons en el dispositivo android
- Android: Cambiar el fondo del botón en ListView Row con onClick
- Android Drawer Layout está mostrando contenido de fragmentos
La vista vacía debe estar en la misma jerarquía de vistas que la vista de lista. Inflar de esa manera no funcionará.
Generalmente creo un diseño en el siguiente formato:
<Layout> <ListView/> <View android:id="@+id/empty"/> </Layout>
Donde la vista vacía es la Vista que quiero usar como mi "vista vacía". Entonces en encendido crea consigo una referencia a la visión vacía y llamo a setEmptyView () con esa referencia.
Aquí hay un ejemplo de la documentación de Android (consulta la documentación , debería ser aplicable a SherlockListFragment):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="8dp" android:paddingRight="8dp"> <ListView android:id="@id/android:list" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00FF00" android:layout_weight="1" android:drawSelectorOnTop="false"/> <TextView android:id="@id/android:empty" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:text="No data"/> </LinearLayout>
Puedes probar algo que estoy haciendo en un fragmento de mi aplicación. No sé si es una buena práctica, pero funciona!
View emptyView = getActivity().getLayoutInflater().inflate(R.layout.empty, null); getActivity().setContentView(emptyView);
- Desafíos al realizar el desarrollo de aplicaciones móviles con Python
- cancelar la repetición de alarma en un momento específico