Sélection / désélection d'un objet complexe dans une listview
bonjour,
cela fais plusieurs jour que je cherche en vain,
j'ai une listView avec ans l'item un radio bouton, quand le clic sur l'un je dois déselectionné le bouton radio qui était sélectionné précédemment.
J'ai essayé plusieurs combinaison mais sans succès.
je vous présente le code de ma qui n'ai pas très bon.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
LayoutInflater inflator = getLayoutInflater();
view = inflator.inflate(R.layout.configurevehiculeitem, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.Car = (ImageView) view.findViewById(R.id.img);
viewHolder.Immat = (TextView) view.findViewById(R.id.immatriculation);
viewHolder.couleur = (TextView) view.findViewById(R.id.couleurvehicule);
viewHolder.Marq = (TextView) view.findViewById(R.id.marquevehicule);
viewHolder.Taille = (TextView) view.findViewById(R.id.taillevehicule);
viewHolder.checkbox = (RadioButton) view.findViewById(R.id.checkstate);
viewHolder.position=position;
view.setTag(viewHolder); // dans le vue on garde le modèle
viewHolder.checkbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ConfigureItem element = (ConfigureItem) viewHolder.checkbox.getTag(viewHolder.position);
element.setSelected(((RadioButton) v).isChecked());
Matricule=element.getName();
Log.i("Le CLIC","=========== Je clic sur le point :"+Matricule);
ConfigureItem Anc_element = (ConfigureItem) viewHolder.checkbox.getTag(POSITION);
Anc_element.setSelected(false);
}
});
} else {
view = convertView;
}
//on récupère le vue sauvegardé
ViewHolder holder = (ViewHolder) view.getTag();
// Dans la vue on garde les données pour le getname
holder.checkbox.setTag(position,listItem_retravail.get(position));
holder.Immat.setText(listItem_retravail.get(position).getName());
holder.couleur.setText(listItem_retravail.get(position).getCouleur());
holder.Marq.setText(listItem_retravail.get(position).getMarque());
holder.Taille.setText(listItem_retravail.get(position).getTaille());
holder.checkbox.setChecked(listItem_retravail.get(position).isSelected());
// je sauvegarde la position qui est sélectionné
if (listItem_retravail.get(position).isSelected())
POSITION=position;
holder.Car.setImageBitmap(listItem_retravail.get(position).getPhoto());
return view;
}
} |
Je n'y arrive vraiment merci de m'aider.
où placer cette méthode ??
merci de me répondre, mais concrètement cette méthode se place où dans le getview ????
selection / deselection objet complexe dans listView
merci j'essai et je reviens vers vous
cordialement