android studio 使用下拉菜单选择省市
时间: 2023-11-05 11:01:42 浏览: 60
1. 在布局文件中添加一个Spinner控件
```
<Spinner
android:id="@+id/province_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
```
2. 在Activity中获取Spinner控件,并设置数据源
```
Spinner provinceSpinner = findViewById(R.id.province_spinner);
// 设置数据源
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.provinces_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
provinceSpinner.setAdapter(adapter);
```
3. 在res/values/strings.xml文件中添加省份数据
```
<string-array name="provinces_array">
<item>北京市</item>
<item>上海市</item>
<item>天津市</item>
<item>重庆市</item>
<item>河北省</item>
<item>山西省</item>
<item>辽宁省</item>
<item>吉林省</item>
<item>黑龙江省</item>
<item>江苏省</item>
<item>浙江省</item>
<item>安徽省</item>
<item>福建省</item>
<item>江西省</item>
<item>山东省</item>
<item>河南省</item>
<item>湖北省</item>
<item>湖南省</item>
<item>广东省</item>
<item>海南省</item>
<item>四川省</item>
<item>贵州省</item>
<item>云南省</item>
<item>陕西省</item>
<item>甘肃省</item>
<item>青海省</item>
<item>台湾省</item>
<item>内蒙古自治区</item>
<item>广西壮族自治区</item>
<item>西藏自治区</item>
<item>宁夏回族自治区</item>
<item>新疆维吾尔自治区</item>
<item>香港特别行政区</item>
<item>澳门特别行政区</item>
</string-array>
```
4. 在Activity中监听Spinner的选择事件,获取用户选择的省份
```
provinceSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String province = parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, "选择了" + province, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
```