创建了一个有两个AutoCompleteTextViews的应用程序。在第一个用户输入他/她想要的食物种类。例如:意大利语,中文等。
如果假设用户在第一个AutoCompleteTextView中输入中文,则第二个AutoCompleteTextView应仅建议中文食品。在strings.xml中,我创建了一个名为“tastes”的数组,其中包含不同的味道,如意大利语,中文等。然后我有一个名为“Italian”的数组,其中只包含意大利菜,就像明智的数组一样名为“Chinese”其中只包含中餐等。
如果用户在第一个textview中输入他的选择,如何从strings.xml中为第二个textview选择相应的数组?
除了swicth案例,我可以使用什么?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find);
this.text1 = (AutoCompleteTextView) findViewById(R.id.taste);
String[] tastes = getResources().getStringArray(R.array.tastes);
ArrayAdapter<String> adapterTaste = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, taste);
this.text1.setAdapter(adapterTaste);
this.text1.setThreshold(1);
this.text2 = (AutoCompleteTextView) findViewById(R.id.item);
String[] items = getResources().getStringArray(R.array.Chinese);
// In place of Chinese in the above line, the feed from text1 ie users choice.
ArrayAdapter<String> adapterItem = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, item);
this.text2.setAdapter(adapterItem);
this.text2.setThreshold(1);
}
答案 0 :(得分:0)
setOnItemSelectedListener()
是您正在寻找的方法。
在您的情况下,您将获得源代码,
text1.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
// Use the position to get which item was selected i.e Chinese or Italian
// Create an adapter for the second AutoComplete
// Set the adapter for second AutoCompleteTextView
}
});
Method Documented here 希望这会有所帮助:)