使用spinner实现省市二级级联

历经几天查阅更改终于把这个功能实现了,,回想起来:用新技术实现想要的结果同时我们不能紧抓住一个问题不放。一个方法不行我们可以寻找其他方法,切不可一条路走到黑!

spinner:提供一种下拉列表选择的输入方式,可以节省有限的屏幕空间占用。实现他很简单,但是在两者之间建立联系时就需注意了。

这里首先“省”,第一级我们无需改动,将其放入适配器显示即可;第二级“市”,需要根据省来确定:

1)省份:

ArrayAdapter<CharSequence> _Adapter = ArrayAdapter.createFromResource(this, R.array.spinnerprovince,android.R.layout.simple_spinner_item);_Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);province.setAdapter(_Adapter);2)根据省份显示城市:// 点击省份对应城市数据绑定province.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {Spinner spinner = (Spinner) parent;String pro = (String) spinner.getItemAtPosition(position);// 默认显示城市ArrayAdapter<CharSequence> _BAdapter = ArrayAdapter.createFromResource(MarketActivity.this,R.array.cityofshandong,android.R.layout.simple_spinner_item);// 点击省市显示相应城市if (pro.equals("山东省")) {_BAdapter = ArrayAdapter.createFromResource(MarketActivity.this, R.array.cityofshandong,android.R.layout.simple_spinner_item);} else if (pro.equals("山西省")) {_BAdapter = ArrayAdapter.createFromResource(MarketActivity.this, R.array.cityofshanxi,android.R.layout.simple_spinner_item);} else if (pro.equals("安徽省")) {_BAdapter = ArrayAdapter.createFromResource(MarketActivity.this, R.array.cityofanhui,android.R.layout.simple_spinner_item);}_BAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);city.setAdapter(_BAdapter);}其中默认城市只需在array里设定即可(同上一篇array)。

这里是重要代码,希望可以帮到有些迷茫的同学。新手可以到我空间下载demo源代码,帮助学习(可运行、有注释)。

源代码下载地址:

版权声明:本文为博主原创文章,未经博主允许不得转载。

没有口水与汗水,就没有成功的泪水。

使用spinner实现省市二级级联

相关文章:

你感兴趣的文章:

标签云: