我有两个下拉菜单,一个是国家,一个是城市。 我希望在选择国家后动态更改城市的选项。 我知道如何创建和初始化国家的值,但不知道如何设置和更改城市的值。
非常感谢您的指导。
更新1 问题是,我不知道如何更新城市下拉菜单的内容。我知道监听器和其他基础知识,但仅限于创建固定的下拉菜单。
我有两个下拉菜单,一个是国家,一个是城市。 我希望在选择国家后动态更改城市的选项。 我知道如何创建和初始化国家的值,但不知道如何设置和更改城市的值。
非常感谢您的指导。
更新1 问题是,我不知道如何更新城市下拉菜单的内容。我知道监听器和其他基础知识,但仅限于创建固定的下拉菜单。
对于第二个Spinner,使用一个适配器来覆盖一个List<String>
(或者您的城市表示方式是什么)。在更改列表内容后,调用适配器上的notifyDataSetChanged
,这就可以了。
adapter.notifyDataSetChanged();
。 - K-ballo 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);
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());