Android:如何使用AutoCompleteTextView连接Spinner选择

时间:2013-01-08 20:44:46

标签: android dynamic onclick android-spinner autocompletetextview

我正在尝试使用AutoCompleteTextView连接Spinner中的操作。我的目标是当用户在微调器中选择一些项目时,需要更改AutoCompleteTextView建议列表。

示例:

微调物品:猫,狗,马

String1: cat1,cat2,cat3,...

String2: dog1,dog2,dog3,...

String3: horse1,horse2,horse3 ......

因此,当用户在微调器中选择“Dogs”并点击AutoCompleteTextView后,他会在开始写入后得到以下建议:dog1,dog2,dog3。类似于猫和马。

我无法找到解决此问题的方法。

我尝试将onClickListener放到AutoCompleteTextView上,但似乎无效。

autoCompleteTextView.setOnClickListener(new OnClickListener() {

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

应该有一些更好的解决方案,因为在屏幕打开后,已经选择了AutoCompleteTextView。

1 个答案:

答案 0 :(得分: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
    }
});