android城市下拉列表,Android使用Spinner实现城市级联下拉框
时间: 2024-04-30 09:24:38 浏览: 106
在Android中使用Spinner控件实现城市级联下拉框,可以通过以下步骤实现:
1. 在布局文件中添加两个Spinner控件,分别用于显示省份和城市列表。
```
<Spinner
android:id="@+id/province_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/city_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
```
2. 创建两个数组,一个用于存储省份列表,另一个用于存储城市列表。
```
String[] provinces = {"北京", "上海", "广东省", "山东省", "浙江省"};
String[][] cities = {
{"北京市"},
{"上海市"},
{"广州市", "深圳市", "珠海市", "汕头市", "韶关市"},
{"济南市", "青岛市", "淄博市", "枣庄市", "东营市"},
{"杭州市", "宁波市", "温州市", "嘉兴市", "湖州市"}
};
```
3. 将省份列表添加到省份Spinner控件中。
```
Spinner provinceSpinner = findViewById(R.id.province_spinner);
ArrayAdapter<String> provinceAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, provinces);
provinceAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
provinceSpinner.setAdapter(provinceAdapter);
```
4. 根据省份选择,动态生成对应的城市列表,并添加到城市Spinner控件中。
```
Spinner citySpinner = findViewById(R.id.city_spinner);
provinceSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
ArrayAdapter<String> cityAdapter = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_spinner_item, cities[position]);
cityAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
citySpinner.setAdapter(cityAdapter);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
```
这样就可以实现Android城市下拉列表,使用Spinner控件实现城市级联下拉框的效果了。
阅读全文