xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:orientation="horizontal" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:gravity="center"
android:text="省:"
android:textSize="20dp" />
<Spinner
android:id="@+id/sp_province"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="#FFFFFF"
android:entries="@array/languages" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:gravity="center"
android:text="| 市:"
android:textSize="20dp" />
<Spinner
android:id="@+id/sp_city"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="#FFFFFF" />
</LinearLayout>
</LinearLayout>
Activity代码:
package com.wh;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends Activity {
Spinner city;
Spinner province;
String tProvince;
String tCity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
province = (Spinner) findViewById(R.id.sp_province);
city = (Spinner) findViewById(R.id.sp_city);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.province,
R.layout.spinner_checked_text);
province.setAdapter(adapter);
province.setOnItemSelectedListener(new spinnerItemSelected());
city.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
tCity = city.getSelectedItem().toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
// 二级联动adapter
class spinnerItemSelected implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Spinner spinner = (Spinner) parent;
String pro = (String) spinner.getItemAtPosition(position);
tProvince = province.getSelectedItem().toString();
// 处理省的市的显示
ArrayAdapter<CharSequence> cityadapter = ArrayAdapter.createFromResource(getApplicationContext(),
R.array.def, R.layout.spinner_checked_text);
if (pro.equals("北京")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.北京,
R.layout.spinner_checked_text);
} else if (pro.equals("天津")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.天津,
R.layout.spinner_checked_text);
} else if (pro.equals("河北")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.河北,
R.layout.spinner_checked_text);
} else if (pro.equals("山西")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.山西,
R.layout.spinner_checked_text);
} else if (pro.equals("内蒙古")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.内蒙古,
R.layout.spinner_checked_text);
} else if (pro.equals("辽宁")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.辽宁,
R.layout.spinner_checked_text);
} else if (pro.equals("吉林")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.吉林,
R.layout.spinner_checked_text);
} else if (pro.equals("黑龙江")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.黑龙江,
R.layout.spinner_checked_text);
} else if (pro.equals("上海")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.上海,
R.layout.spinner_checked_text);
} else if (pro.equals("江苏")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.江苏,
R.layout.spinner_checked_text);
} else if (pro.equals("浙江")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.浙江,
R.layout.spinner_checked_text);
} else if (pro.equals("安徽")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.安徽,
R.layout.spinner_checked_text);
} else if (pro.equals("福建")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.福建,
R.layout.spinner_checked_text);
} else if (pro.equals("江西")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.江西,
R.layout.spinner_checked_text);
} else if (pro.equals("山东")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.山东,
R.layout.spinner_checked_text);
} else if (pro.equals("河南")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.河南,
R.layout.spinner_checked_text);
} else if (pro.equals("湖北")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.湖北,
R.layout.spinner_checked_text);
} else if (pro.equals("湖南")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.湖南,
R.layout.spinner_checked_text);
} else if (pro.equals("广东")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.广东,
R.layout.spinner_checked_text);
} else if (pro.equals("广西")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.广西,
R.layout.spinner_checked_text);
} else if (pro.equals("海南")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.海南,
R.layout.spinner_checked_text);
} else if (pro.equals("重庆")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.重庆,
R.layout.spinner_checked_text);
} else if (pro.equals("四川")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.四川,
R.layout.spinner_checked_text);
} else if (pro.equals("贵州")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.贵州,
R.layout.spinner_checked_text);
} else if (pro.equals("云南")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.云南,
R.layout.spinner_checked_text);
} else if (pro.equals("*")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.*,
R.layout.spinner_checked_text);
} else if (pro.equals("陕西")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.陕西,
R.layout.spinner_checked_text);
} else if (pro.equals("甘肃")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.甘肃,
R.layout.spinner_checked_text);
} else if (pro.equals("青海")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.青海,
R.layout.spinner_checked_text);
} else if (pro.equals("宁夏")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.宁夏,
R.layout.spinner_checked_text);
} else if (pro.equals("*")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.*,
R.layout.spinner_checked_text);
} else if (pro.equals("*")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.*,
R.layout.spinner_checked_text);
} else if (pro.equals("香港")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.香港,
R.layout.spinner_checked_text);
} else if (pro.equals("澳门")) {
cityadapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.澳门,
R.layout.spinner_checked_text);
}
city.setAdapter(cityadapter);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
}
全国省市XML文件:
arrays.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="province">
<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>
<item>澳门</item>
</string-array>
<string-array name="def">
<item>-城市-</item>
</string-array>
<string-array name="北京">
<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>
<string-array name="天津">
<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>
<string-array name="河北">
<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>
<string-array name="山西">
<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>
<string-array name="内蒙古">
<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>
<string-array name="辽宁">
<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>
<string-array name="吉林">
<item>-城市-</item>
<item>长春</item>
<item>吉林</item>
<item>四平</item>
<item>辽源</item>
<item>通化</item>
<item>白山</item>
<item>*</item>
<item>白城</item>
<item>延边</item>
</string-array>
<string-array name="黑龙江">
<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>
<string-array name="上海">
<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>
<string-array name="江苏">
<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>
<string-array name="浙江">
<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>
<string-array name="安徽">
<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>
<string-array name="福建">
<item>-城市-</item>
<item>福州</item>
<item>厦门</item>
<item>莆田</item>
<item>三明</item>
<item>泉州</item>
<item>漳州</item>
<item>南平</item>
<item>龙岩</item>
<item>宁德</item>
</string-array>
<string-array name="江西">
<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>
<string-array name="山东">
<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>
<string-array name="河南">
<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>
<string-array name="湖北">
<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>
<string-array name="湖南">
<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>
<string-array name="广东">
<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>
<string-array name="广西">
<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>
<string-array name="海南">
<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>
<string-array name="重庆">
<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>
<item>石柱</item>
<item>秀山</item>
<item>酉阳</item>
<item>彭水</item>
<item>江津</item>
<item>合川</item>
<item>永川</item>
<item>南川</item>
</string-array>
<string-array name="四川">
<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>
<string-array name="贵州">
<item>-城市-</item>
<item>贵阳</item>
<item>六盘水</item>
<item>遵义</item>
<item>安顺</item>
<item>铜仁</item>
<item>黔西南</item>
<item>毕节</item>
<item>黔东南</item>
<item>黔南</item>
</string-array>
<string-array name="云南">
<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>
<string-array name="*">
<item>-城市-</item>
<item>拉萨</item>
<item>昌都</item>
<item>山南</item>
<item>日喀则</item>
<item>那曲</item>
<item>阿里</item>
<item>林芝</item>
</string-array>
<string-array name="陕西">
<item>-城市-</item>
<item>西安</item>
<item>铜川</item>
<item>宝鸡</item>
<item>咸阳</item>
<item>渭南</item>
<item>延安</item>
<item>汉中</item>
<item>榆林</item>
<item>安康</item>
<item>商洛</item>
</string-array>
<string-array name="甘肃">
<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>
<string-array name="青海">
<item>-城市-</item>
<item>西宁</item>
<item>海东</item>
<item>海北</item>
<item>黄南</item>
<item>海南</item>
<item>果洛</item>
<item>玉树</item>
<item>海西</item>
</string-array>
<string-array name="宁夏">
<item>-城市-</item>
<item>银川</item>
<item>石嘴山</item>
<item>吴忠</item>
<item>固原</item>
<item>中卫</item>
</string-array>
<string-array name="*">
<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>
<string-array name="*">
<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>
<string-array name="香港">
<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>
<string-array name="澳门">
<item>-城市-</item>
<item>花地玛堂区</item>
<item>圣安多尼堂区</item>
<item>大堂区</item>
<item>望德堂区</item>
<item>风顺堂区</item>
<item>氹仔</item>
<item>路环</item>
</string-array>
</resources>