J'ai défini une minuterie dans mon application, je pourrais obtenir des informations à partir d'un service Web et a abouti à une vue de liste à afficher. Maintenant, mon problème est que chaque fois que la minuterie fonctionne, faites défiler vers le début ...
Comment puis-je garder la position de défilement avec chaque actualisation de la liste de la liste? P>
Partie de mon code: P> > tnx. p> p>
4 Réponses :
Vous pouvez ajouter l'attribut suivant à votre listview code> dans xml.
in the android:transcriptMode attribute.
Il y a un Bon article de Chris Banes . Pour la première pièce, il suffit d'utiliser ListView # SetSelectionFromtop (int) code> pour garder le
listview code> dans la même position visible. Pour conserver le
listview code> à partir de FlicCinging, la solution consiste simplement à bloquer la liste de la vision de la publication des enfants. P>
n'appelle pas SetAdapter () code>. Faites quelque chose comme ceci:
Sont allchat code> et
all_chat code> mêmes variables? Passez l'allathat au constructeur de l'adaptateur, puis changer la référence Allchat ne signifie pas que Allchat sera modifié dans l'adaptateur.
J'ai eu le même problème, j'ai essayé beaucoup de choses pour empêcher la liste de changer de position de défilement, notamment: et ne pas appeler qui ressemble à ceci: p> Explication: listview.setadapter (); / code>
Aucun de cela n'a fonctionné avant d'avoir trouvé Cette réponse : p>
Listview.getFirsVisiblePosition () Code> Renvoie l'élément de liste VISIBLE TOP. Mais cet élément peut être partiellement défilé hors de la vue et si vous souhaitez restaurer la position exacte de défilement de la liste, vous devez obtenir ce décalage. Donc
listview.getchildat (0) code> renvoie le code> "/ code> de l'élément de liste supérieure, puis
vue.getop () - mlist.getpaddingtop () code> Renvoie son compensation relative du haut de la liste
listview code>. Ensuite, pour restaurer la position de défilement code> ListView code>, nous appelons
listview.setselectionfromtop () code> avec l'index de l'élément que nous voulons et un décalage de positionner son bord supérieur de la Haut du
ListView code>. p> p>
Stackoverflow.com/a/3035521/931982
Dupliqué possible de Maintenir / sauvegarder / restaurer la position de défilement lors du retour à une liste de liste
Ces liens ne résolvent pas mon problème, car mon problème est une autre chose. Mon ListView reçoit automatiquement une donnée de service Web, puis faites défiler la position au début (position supérieure) ...., j'espère que vous n'entraînerez-moi ... TNX.
CMON PERSONNES, Il définit chaque fois un nouvel adaptateur, il doit la mettre à jour à la place ou utiliser une fonction comme Addelement, puis appeler notifierdataschange. Après de second, consultez votre problème: appelez clairement, appelez Ajout d'élément en boucle, appelez notifydataschange . Le nettoyage dépend si vos éléments sont toujours nouveaux ou identiques à de nouvelles
Réglage de l'adaptateur Chaque fois semble diabolique mais toujours les gens continuent de le faire ...