Android, wie man die ID der automatischen Vervollständigungstextansicht in der überschriebenen Funktion „onitemclick“ auswählt

StackOverflow https://stackoverflow.com//questions/24063029

Frage

ich habe drei autoCompleteTextView Box als home , work , other .

Also erhalte ich im Home-Autovervollständigungsfeld Daten vom Server und wähle ein Element aus, und dieses Element habe ich gespeichert home_latlong Zeichenfolge.Ebenso muss ich Werte von anderen Autovervollständigungsarbeiten erhalten, die ich in einer anderen Zeichenfolge mit dem Namen speichere home_latlong.Der folgende Code zeigt onItemClick überschriebene Funktion, in der ich speichern werde home_latlong oder 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));
            }
        }
}`

Das Problem ist also, dass ich nicht unterscheiden kann, wann ich speichere home_latlong und wann gelagert werden soll work_latlong.Ich habe es mit der ID von versucht autocompletetextview aber es hat in dieser Funktion nicht geholfen.

War es hilfreich?

Lösung

Ich habe es gelöst, indem ich eine anonyme innere Klasse verwendet habe.

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));
                }

            }
        }

    });

Ebenso für work_latlong Ich hatte eine andere anonyme innere Klasse, damit ich herausfinden kann, auf welche Autovervollständigungsansicht ich geklickt habe.

Andere Tipps

Überprüfen Sie die Dokumentation auf AdapterView.OnItemClickListener:

public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)

Parameter

  • Elternteil:Die AdapterView, in der der Klick stattgefunden hat.
  • Sicht:Die Ansicht innerhalb der AdapterView, auf die geklickt wurde (dies ist eine vom Adapter bereitgestellte Ansicht)

Sie müssen das verwenden Erste Parameter (die AdapterView), um die zu identifizieren AutocompleteTextView.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top