J'ai créé un listfragment code> à l'aide de la mise en page suivante qui ajoute un
textview code> pour afficher un message lorsque la liste est vide:
<?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="@id/android:list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
<TextView android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/vsl_empty"
android:gravity="center"
android:layout_gravity="center"
android:textColor="#8C8C8C" />
</LinearLayout>
3 Réponses :
Que diriez-vous d'ajouter ce qui suit à la TextView au fichier de présentation XML, puis effectuez le texte visible si nécessaire. p> p>
Réglage du TextView code> sur
invisible code> ne fait pas de différence.
Vous devrez définir le Si vous le faites dans xml em> ou que vous le faites avant que vos résultats soient chargés, la vue s'affiche puisque la liste est effectivement vide. Vous devez donc attendre que les résultats soient chargés pour régler la vue vide. P> textview code> visibilité em> to invisible em>, et une fois que vous avez chargé les données, c'est
OnloadComplete code> - Vous devrez le définir comme la vue vide pour le
listview code> en effectuant
Setemptyview (textview) code>; p>;
Comment définir le textview code> sur Invisible? Dans le XML, en utilisant l'identifiant
Android: vide code>, le réglez sur Invisible ne fonctionne pas. Je suppose que c'est remplacé parce que l'identifiant a une signification particulière. Ce qui est super bizarre est, si à la fin de
OnActivityCreated () Code> i Call
Setemptyview (null); code> La listeView disparaît et seulement b> la vue vide est montré!
Les réponses fournies étaient sur la bonne voie. J'ai bien dû définir le aussi, il n'est pas nécessaire de faire La vue vide visible à nouveau: cela se fait automatiquement par le cadre. p> p> textview code> sur invisible, mais l'emplacement correct est dans
oncreateloader code>:
Merci cela a travaillé. Je devais faire la visible vide visible à nouveau à l'aide de listeView.visible
Vous ne devriez pas avoir besoin de faire la liste invisible (utilisez un point de vue) par exemple.
Utilisez-vous
chargeur code> s?
Oui. Je crée l'adaptateur avec
null code> pour l'argument du curseur, définissez l'adaptateur sur le
listview code>, puis init le chargeur. Les loadermanager.Licharcallbacks s'occupent de la création du curseur.