Lorsque je clique sur un élément de la liste, je veux qu'il y ait un TextView pour changer la visibilité de "gone" à "visible" et afficher la position de l'élément sur lequel on a cliqué. Cela devrait être fait sans les pépins qui résultent de incorrectly manipulating the TextView. Comment devrais-je l'implémenter?Android - Comment implémenter getListItemClick() dans ce cas?
0
A
Répondre
0
Contrairement à mon previous answer Je suppose que vous voulez que chaque TextView pour afficher des données différentes, donc nous allons ajouter un nouveau membre à votre adaptateur et accesseurs appropriés à votre adaptateur:
private SparseArray<String> secondary = new SparseArray<String>();
public String getSecondary(int position) {
return secondary.get(position, "");
}
public void setSecondary(int position, String value) {
secondary.put(position, value);
notifyDataSetChanged(); // Updates the ViewGroup automatically!
}
SpareArrays sont mieux définit sans index prévisible, mais vous pouvez utiliser une liste, HashMap, etc si vous voulez quelque chose de différent. Maintenant tweak onListItemClick()
d'utiliser les nouvelles méthodes:
protected void onListItemClick(ListView l, View v, int position, long id) {
String clickedPosition = "Clicked position = " + position;
mAdapter.setSecondary(position, clickedPosition);
}
jour Enfin getView()
pour montrer textClickedPosition
que lorsque secondary
a données:
TextView textView = (TextView) view.findViewById(R.id.textPosition);
textView.setText(event);
textView = (TextView) view.findViewById(R.id.textClickedPosition);
String string = getSecondary(position);
if(!string.isEmpty()) {
textView.setText(string);
textView.setVisibility(View.VISIBLE);
}
else // You must hide the view otherwise you will see odd behavior for the recycle method
textView.setVisibility(View.GONE);
return view;
Sur une note finale, vous vraiment devriez regarder le Google I/O conférences comme Turbo Charge your UI ils contiennent une mine de connaissances!
Questions connexes
- 1. Comment implémenter IEnumerable dans mon cas spécifique?
- 2. Comment utiliser Scrollbar dans Android dans ce cas?
- 3. comment implémenter AsyncLoader dans Android?
- 4. Comment implémenter ce code dans Blackberry
- 5. Comment implémenter C2DM dans android?
- 6. Comment implémenter ASyncTask dans Android
- 7. Comment utiliser Linkify texte dans ce cas
- 8. Comment implémenter ceci dans Android?
- 9. Comment implémenter 360 'cas sur ios?
- 10. Comment interroger ce cas?
- 11. Comment implémenter ce FilteringIterator?
- 12. Comment implémenter ce délégué?
- 13. android - comment implémenter la journalisation
- 14. Meilleure stratégie pour implémenter ce comportement dans l'application Android?
- 15. implémenter splitview dans Android
- 16. comment implémenter ce processus dans wxpython?
- 17. Comment implémenter ce modèle dans Django?
- 18. Comment se fait Java dans ce cas?
- 19. Comment utiliser les mocks dans ce cas?
- 20. Comment gérer la concurrence dans ce cas?
- 21. Comment faire un service dans ce cas?
- 22. Comment gérer NullPointerException dans ce cas
- 23. Comment présélectionner une option dans ce cas?
- 24. Comment appliquer MVVM correctement dans ce cas?
- 25. C++ comment utiliser strtok dans ce cas
- 26. comment utiliser EL imbriqué dans ce cas?
- 27. Comment gérer les chemins dans ce cas
- 28. Comment boucler la requête dans ce cas?
- 29. Comment utiliser le moqueur dans ce cas?
- 30. Comment passer l'intention dans ce cas
Merci! L'autre partie est ce qui me manquait :) et j'ai regardé la première partie de la conférence (ma mise en œuvre a même un ViewHolder maintenant), je serai sûr de regarder le reste dès que possible! – Piovezan