web-dev-qa-db-fra.com

comment définir setOnClickListener pour AutoCompleteTextView?

Je sélectionne du texte pour AutoCompleteTextView.Après avoir voulu appliquer setonclicklistener au texte sélectionné.

ArrayAdapter<String> arrAdapter = new ArrayAdapter<String>(this, Android.R.layout.simple_dropdown_item_1line, sampleACTV); 
 AutoCompleteTextView ACTV = (AutoCompleteTextView) findViewById(R.id.spinner);
 ACTV.setAdapter(arrAdapter); 

 }
 private static final String[] sampleACTV = new String[]
         { "Android","androidpeople.com","iphone","blackberry" }; 

dans mon exemple, j'en sélectionne un comme Android appelle l'intention d'aller au nid

22
sai

Il existe différents écouteurs de clics dans AutoCompleteTextView.

La première manière est dans le xml de mise en page, vous pouvez définir l'attribut onCLick, avec la fonction que vous souhaitez appeler, dans l'exemple ci-dessous, cliquez sur.

<AutoCompleteTextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/spinner"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:onClick="clicked" />

Ensuite, dans votre activité, vous définissez la fonction cliquée.

public void clicked(View v) { 
  // on click do ..
} 

Ou vous pouvez le définir directement dans votre code:

ACTV.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        finish();
    }
});

Si vous souhaitez définir l'écouteur de clics lorsque l'utilisateur clique sur un élément de la liste déroulante, il existe une autre méthode, la setOnItemClickListener .

ACTV.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
        //... your stuff
    }
})

Et vous avez une dernière option, pour définir l'écouteur de clic lorsque l'utilisateur sélectionne réellement un élément dans la liste déroulante à l'aide de setOnItemSelectedListener .

ACTV.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected (AdapterView<?> parent, View view, int position, long id) {
        //... your stuff
    }
    @Override
    public void onNothingSelected (AdapterView<?> parent) {
        //... your stuff
    }
})

Références:

http://developer.Android.com/reference/Android/widget/AutoCompleteTextView.html

Bonne chance!

63
caiocpricci2

Vous devez créer Adaptateur personnalisé et affecter un événement OnClick à la vue dans getView ()

2
Sunil Kumar Sahoo