J'ai créé l'affichage à l'aide des fragments code> code>, qui sont tous deux peuplés avec des données tirées à partir d'Internet. Bien que le code fonctionne lui-même comme prévu sans aucun problème, l'un d'un fragment (mis en œuvre comme faire des recherches, j'ai découvert la fonction Comment puis-je supprimer l'indicateur de progression du fragment? P> listfragment code>) affiche un indicateur de progression indéterminant dans le fragment, qui est asymétrique sur le côté. Je souhaite supprimer l'indicateur et utiliser un autre
progresssialog code> i Mise en œuvre comme indicateur à la place. P>
setlistShownoanimation () code> (documenté ici ) dans la catégorie
listfragment code>, mais les tentatives suivantes n'ont pas fonctionné: p>
OnActivityCreated () Code> Li>
Oncreate CODE> LI>
OnCreateView () CODE> (Ceci a provoqué un
illegalStateException code>) li>
ul>
3 Réponses :
Cette solution de contournement peut ne pas être la meilleure méthode pour résoudre ceci, mais cela fonctionne bien:
Ce que j'ai fait a d'abord été faire le fragment non afficher du tout quand je l'ai déclaré dans le fichier Layout.xml: P> puis après que les données ont été téléchargées et traitées, je voudrais alors afficher le fragment à l'aide d'une fragmenttransaction: p> s'il y a un Un meilleur moyen de résoudre ce problème, je suis ouvert aux suggestions. P> p>
Eh bien, si la visibilité est partie, vous devez le modifier de manière programmatique sur visible, visibilité (vue.visibilité); code>
La bonne façon de le faire est d'appeler:
setListShown(true);
Cela semble être le bon sens depuis que si vous passez la méthode false, il devrait apparemment montrer un indicateur de progression de chargement à l'utilisateur qui est agréable. Le problème est que lorsque j'utilise cette méthode dans mon fragment, je reçois illégalStateException, ne peut pas être utilisé avec une vue personnalisée du contenu. Ce qui donne?
Vous avez raison. Cela devrait généralement être la bonne façon de l'appeler. Mon projet a été fait un peu différemment, ce qui nécessitait une approche différente. Je marquais votre réponse est la réponse acceptée toujours. :)
Cela devrait être appelé en suractivitéCreated.
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { adapter.swapCursor(cursor); if(isResumed()) { setListShown(true); } else { setListShownNoAnimation(true); } } But you have to setListShown(false) where you set the ListAdapter. This works fine.
Essayé d'utiliser un setlist montré (vrai)?
@Warpzit: à partir de ce que l'API Android indique,
setlistHown (true) code> affichera la liste (qui peut avoir été initialisé et défini). De plus, il ne semble pas désactiver l'indicateur de chargement, que le
setlistHownoanimation () code> semble faire.
était juste une suppose :) désolé je ne pouvais pas aider