我有两个旋转器。国家和城市。 我想在国家选择时动态更改City的值。 我知道如何创建和初始化Country的值,但不知道如何设置和更改City的值。
感谢任何指导。
UPDATES1 问题是,我不知道如何更新City Spinner的内容。我知道如何创建一个固定的微调器的听众和其他基础知识。
答案 0 :(得分:5)
对于第二个微调器,使用适配器超过List<String>
(或任何城市表示形式)。更改列表的内容后,在适配器上调用notifyDataSetChanged
,即可。
答案 1 :(得分:3)
您需要获得对微调器的编程引用,如下所示:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
然后要更新您所在城市的值,请使用OnItemSelectedListener,如下所示:
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
//update content of your city spinner using the value at index,
// id, or the view of the selected country.
}
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
最后,您需要将侦听器绑定到country spinner,如下所示:
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
请参阅此处以供参考:http://developer.android.com/resources/tutorials/views/hello-spinner.html