1

Spinner のアクションを AutoCompleteTextView に接続しようとしています。私の目標は、ユーザーがスピナーでアイテムを選択したときに、AutoCompleteTextView の提案リストを変更する必要があることです。

例:

スピナーアイテム:猫、犬、馬

文字列 1: cat1、cat2、cat3、...

文字列 2:犬 1、犬 2、犬 3、...

文字列 3: horse1、horse2、horse3 ...

したがって、ユーザーがスピナーで「犬」を選択し、その後 AutoCompleteTextView をクリックすると、書き始めた後に次の候補が表示されます: 犬 1、犬 2、犬 3。猫と馬についても同様です。

この問題の解決策が見つかりません。

onClickListener を AutoCompleteTextView に配置しようとしましたが、うまくいかないようです。

autoCompleteTextView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
//some actions
});

画面が開いた後、 AutoCompleteTextView が既に選択されているため、より良い解決策があるはずです。

4

1 に答える 1

1

AutoCompleteTextView の API を確認してください - http://developer.android.com/reference/android/widget/AutoCompleteTextView.html

提案はデータ アダプターから入力されるため、ユーザーがスピナーを選択した後、autoCOmpleteTextView のデータ アダプターを変更できます。

mySpinner.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
    {
          String[] choices; 
          // set the adapter for the autoCOmpleteTextView here based on what was selected
          if(DOGS) {
                choices = new String[] {"dog1", "dog2", "dog3"};
          } else if (CATS) {
                choices = new String[] {"cat1", "cat2", "cat3"};
          }
          // etc...
          ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
             android.R.layout.simple_dropdown_item_1line, choices);
             myTextView.setAdapter(adapter);
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) 
    {
         // nothing
    }
});
于 2013-01-08T21:22:48.897 に答える