Le problème que j'espère résoudre ici est que lorsque je clique sur un élément dans le ListView
l'arrière-plan de l'élément change en gris clair, mais quand je continue à faire défiler la liste tous les 4ème élément a l'arrière-plan changé en gris clair, même si ces autres éléments n'ont pas été cliqués. Comment est-ce que je fais seulement l'article que j'ai cliqué être effectué par le clic?Problème de sélection ListView ... Utilisation de onItemClick (parent AdapterView <?>, affichage vue, ...)
ListView lv = (ListView) findViewById(R.id.resultsList);
lv.setAdapter(new ArrayAdapter<String>(this, R.layout.resultitem, (String[])labelList.toArray(new String[labelList.size()])));
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv = (TextView)view.findViewById(R.id.result);
tv.setBackgroundColor(Color.LTGRAY);
tv.setTextColor(Color.BLACK);
}
}
Merci pour votre aide! – searchMaker
Y at-il un problème ici? private class LabelAdapter extends ArrayAdapter { \t private Chaîne [] articles; Public LabelAdapter (contexte de contexte, int textViewResourceId, chaîne [] chaînes) { \t \t this.items = chaînes; \t} \t \t @Override \t publique Voir getView (int position, Vue convertView, parent ViewGroup) { \t Voir v = convertView; \t TextView tt = (TextView) v.findViewById (R.id.résult); \t tt.setText (éléments [position]); \t return v; \t} \t} –
searchMaker
Il n'y a donc pas de moyen simple d'empêcher l'adaptateur de réutiliser les vues? – searchMaker