我正在尝试使用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。
答案 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
}
});