57 votes

AutoCompleteTextView onItemSelectedListener ne fonctionne pas

J'ai un AutoCompleteTextView et j'y ai défini onItemSelectedListener, ce qui ne fonctionne pas.

Avez-vous une idée de quel est le problème? Voici mon activité, je peux également fournir le fichier main.xml si nécessaire.

    package com.chidem;

    import android.app.Activity;
    import android.app.AlertDialog;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.AutoCompleteTextView;

    public class ChidemActivity extends Activity implements OnItemSelectedListener{
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            String hop[]=new String[]{
                    "Karen","Mika","Gevor"
            };

            AutoCompleteTextView searchHotels = (AutoCompleteTextView) findViewById(R.id.autoSearch);
            searchHotels.setOnItemSelectedListener(this);

            ArrayAdapter<String> adapter1 = new ArrayAdapter<String>( this, R.layout.list_item, hop);
            searchHotels.setAdapter(adapter1);

        }


        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            Log.d("autocomplete", "itemselected");

        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    }

117voto

Shashank Kadne Points 4531

Mec, tu vas rire de ton erreur. Cela fonctionne pour moi. Vous avez ajouté OnItemSelectedListener et non OnItemClickListener .

Votre méthode ne fonctionnera que si vous sélectionnez vos éléments ou parcourez la vue à l'aide d'une boule de commande ou des flèches haut/bas. Utilisez une valeur supplémentaire dans votre chaîne commençant par "k", disons Karen1. Tapez "k" et choisissez entre Karen et Karen1.Vous verrez que cela fonctionne. Si vous voulez cliquer, ajoutez OnItemClickListener et remplacez

 public void onItemClick(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3)

16voto

user1337052 Points 161

Tu dois utiliser

OnItemClickListener

au lieu de OnItemSelectedListener

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X