我有两个旋转器。国家和城市。我想在选择国家/地区时动态更改城市的值。我知道如何创建和初始化 Country 的值,但不知道如何设置和更改 City 的值。
任何指导表示赞赏。
UPDATES1 问题是,我不知道如何更新 City Spinner 的内容。我知道如何创建固定微调器的侦听器和其他基础知识。
我有两个旋转器。国家和城市。我想在选择国家/地区时动态更改城市的值。我知道如何创建和初始化 Country 的值,但不知道如何设置和更改 City 的值。
任何指导表示赞赏。
UPDATES1 问题是,我不知道如何更新 City Spinner 的内容。我知道如何创建固定微调器的侦听器和其他基础知识。
List<String>
对于第二个微调器,在 a (或任何您的 City 表示形式)上使用 Adapter 。更改列表的内容后,调用notifyDataSetChanged
适配器,就可以了。
您需要获得对微调器的编程引用,如下所示:
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.
}
}
最后,您需要像这样将监听器绑定到国家微调器:
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
请参阅此处以供参考:http: //developer.android.com/resources/tutorials/views/hello-spinner.html