J'ai un edittext et une listview dans une disposition linéaire. Supposons qu'il y ait 5 résultats actuellement visibles dans la liste sur un total de 10.Quand je descends du texte d'édition sur le listview, le 5ème item dans la listview (je suppose que c'est toujours le dernier) obtient le focus, au lieu du premier item! Comment devrais-je résoudre ceci?Le premier élément dans listview n'obtient pas le focus
1
A
Répondre
0
1) Créez un gestionnaire, en tant que champ dans votre activité. Comme ceci:
private Handler myHandler = new Handler();
2) Lorsque vous créez ListView, ajoutez un OnFocusChangeListener, comme indiqué ci-dessous.
myList.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
myHandler.postAtFrontOfQueue(new Runnable() {
public void run() {
myList.setSelection(0);
}
});
}
}
});
Questions connexes
- 1. android: listview focus sur le premier élément
- 2. Focus On Listview ajouté le dernier élément
- 3. Listview montre seulement le premier élément
- 4. Désactiver le focus de l'élément dans ListView
- 5. Insérer un nouvel élément à ListView après le premier élément
- 6. focus sur le quatrième élément après que listview soit rempli
- 7. Comment sélectionner le premier élément dans un ListView par défaut
- 8. Nouvel élément listview duplique l'action du premier élément listview lorsque listview défile vers le bas?
- 9. wpf listview a perdu le focus
- 10. Comment définir le focus dans l'élément listview?
- 11. Spinner - focus sur le premier article
- 12. WPF - Empêche ListView de perdre le focus
- 13. Espace vide entre l'en-tête listview et le premier élément
- 14. DropDownList dans ListView selectedValue toujours le premier
- 15. Cycle Focus vers le premier élément de formulaire à partir du dernier élément et Vice Versa
- 16. Android. La ligne ListView obtient le focus
- 17. La ligne ListView perd le focus
- 18. ListView ajouter premier élément plusieurs fois
- 19. Supprimer le premier élément de $ @ dans bash
- 20. Définir le premier élément visible dans gridview
- 21. Définir le focus sur le premier champ d'erreur JSF 2.0
- 22. Élément ListView Élément LongClick pour le sélecteur
- 23. Comment définir le focus sur un élément particulier dans listview. Android?
- 24. Sélection d'un élément dans un contrôle ListView (Winforms) sans avoir le focus
- 25. obtenir le premier élément dont le précédent
- 26. Comment insérer le premier élément dans ListAdapter?
- 27. Redirection vers le premier élément dans ArrayController
- 28. Comment présélectionner le premier élément dans Dijit.form.FilteringSelect?
- 29. modifier le premier élément dropdownlist
- 30. EditText focus dans un ListView
Bien que cela fonctionne mais c'est un appel coûteux je suppose. Voici ce que dit la documentation: «Cette méthode est uniquement destinée à une utilisation dans des circonstances très particulières: elle peut facilement priver la file d'attente des messages, provoquer des problèmes de commande ou avoir d'autres effets secondaires inattendus.». cette? –
Si vous partagez votre gestionnaire avec d'autres routines, ce qui ne résout pas le problème de mise au point de ListView, vous devez vraiment vous soucier de l'utilisation de cette méthode. Par conséquent, je suggère que vous utilisiez le gestionnaire créé juste à cet effet. Faire comme ça, vous n'aurez pas de problèmes de file d'attente. –
Cette solution est loin d'être élégante. Dans le cas où vous faites face, le comportement de focus de ListView devrait être ceci par défaut ou il doit y avoir une propriété spécifique à cet effet. Pour l'instant, c'est ma suggestion dans ce cas. –