web-dev-qa-db-ja.com

AutoCompleteTextViewのsetOnClickListenerを設定する方法

AutoCompleteTextViewのテキストを選択しています。アイデアがある場合は、選択したテキストにsetonclicklistenerを適用します。

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

私の例では、Androidのようなものを選択しています。

22
sai

AutoCompleteTextViewにはさまざまなクリックリスナーがあります。

最初の方法はレイアウトxmlで、呼び出される関数を次の例でクリックして、onCLick属性を定義できます。

<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" />

次に、アクティビティで、クリックされる関数を定義します。

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

または、コードで直接設定することもできます。

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

ユーザーがドロップダウンリストの項目をクリックしたときにクリックリスナーを設定する場合、setOnItemClickListenerという別のメソッドがあります。

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

そして、最後のオプションとして、ユーザーが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
    }
})

参照:

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

幸運を!

63
caiocpricci2

Custom Adapterを作成し、getView()のビューにOnClickイベントを割り当てる必要があります

2