Android comment sélectionner l'identifiant de la vue de saisie semi-automatique dans la fonction remplacée par onitemclick
-
02-01-2020 - |
Question
j'ai trois autoCompleteTextView
boîte comme home
, work
, other
.
Ainsi, dans la boîte de saisie semi-automatique de la maison, je reçois des données du serveur et sélectionne un élément et cet élément dans lequel j'ai stocké home_latlong
chaîne.De même, je dois obtenir la valeur d'un autre travail de saisie semi-automatique pour lequel je stocke cette valeur dans une autre chaîne appelée home_latlong
.Le code ci-dessous montre onItemClick
fonction remplacée où je vais stocker home_latlong
ou work_latlong
.
`
ontemClick(AdapterView<?> adapterView, View view,
int position, long id) {
System.out.println("POSITION ="+position);
for (int i = 0; i < latlong.size(); i++) {
if(i==position){
home_latlong=latlong.get(i);
System.out.println("ARRAY"+latlong.get(i));
}
}
}`
Le problème est que je ne parviens pas à différencier le moment où je vais stocker home_latlong
et quand stocker work_latlong
.J'ai essayé avec l'identifiant de autocompletetextview
mais cela n'a pas aidé dans cette fonction.
La solution
Je l'ai résolu en utilisant une classe interne anonyme,
actv1 = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
actv1 .setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position,
long id) {
// TODO Auto-generated method stub
for (int i = 0; i < latlong.size(); i++) {
if (i == position) {
home_latlong = latlong.get(i);
System.out.println("ARRAY" + latlong.get(i));
}
}
}
});
De même pour work_latlong
j'avais une autre classe interne anonyme pour pouvoir savoir sur quelle vue de saisie semi-automatique j'ai cliqué.
Autres conseils
Consultez la documentation pour AdapterView.OnItemClickListener
:
public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)
Paramètres
- parent:AdapterView où le clic s'est produit.
- voir:La vue dans AdapterView sur laquelle vous avez cliqué (il s'agira d'une vue fournie par l'adaptateur)
Vous devez utiliser le d'abord paramètre (l'AdapterView) pour identifier le AutocompleteTextView
.