J'ai une activité où je dois créer un ou plusieurs spinners dynamiquement en fonction d'une base de données externe.
Certains de ces éléments doivent afficher un dialogue en fonction de la valeur du spinner. Par exemple, le spinner a les options suivantes : -Propriété -Location -Maison familiale Si l'utilisateur sélectionne Location, je dois afficher un dialogue (ou quoi que ce soit) lui demandant combien il paie par mois. S'il sélectionne "Maison individuelle" ou "Maison familiale", rien ne doit se passer.
Après avoir créé la mise en page avec les spinners, les edittexts, etc. J'utilise quelque chose comme ceci :
for(int q=0;q<=parent.getChildCount();q++){
View v = parent.getChildAt(q);
if (v instanceof Spinner) {
Spinner res = (Spinner) v;
res.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
//Here its supposed to show dialog if the option is "RENT"
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
}
}
Le problème est que lorsque je fais cela, le "setOnItemSelectedListener" ne se déclenche que pour le dernier spinner de la disposition.
Comment puis-je faire ce que j'essaie ? Je ne sais pas quoi faire d'autre.