标签:android style blog http color io os java ar
便捷、新颖的三级fdsafdsa联动城市选择器
/** *
城市Picker *
*
@author zihao *
*/public
class
CityPicker extends
LinearLayout { /**
滑动控件 */fdsaf private
ScrollerNumberPicker provincePicker; private
ScrollerNumberPicker cityPicker; private
ScrollerNumberPicker counyPicker; /**
选择监听 */ private
OnSelectingListener onSelectingListener; /**
刷新界面 */ private
static
final
int
REFRESH_VIEW = 0x001; /**
临时日期 */ private
int
tempProvinceIndex = -1; private
int
temCityIndex = -1; private
int
tempCounyIndex = -1; private
Context context; private
List<cityinfo> province_list = new
ArrayList<cityinfo>(); private
HashMap<string, list<cityinfo="">>
city_map = new
HashMap<string, list<cityinfo="">>(); private
HashMap<string, list<cityinfo="">>
couny_map = new
HashMap<string, list<cityinfo="">>(); private
CitycodeUtil citycodeUtil; private
String city_code_string; private
String city_string; public
CityPicker(Context context, AttributeSet attrs) { super(context,
attrs); this.context
= context; getaddressinfo(); //
TODO Auto-generated constructor stub } public
CityPicker(Context context) { super(context); this.context
= context; getaddressinfo(); //
TODO Auto-generated constructor stub } //
获取城市信息 private
void
getaddressinfo() { //
TODO Auto-generated method stub //
读取城市信息string JSONParser
parser = new
JSONParser(); String
area_str = FileUtil.readAssets(context, "area.json"); province_list
= parser.getJSONParserResult(area_str, "area0"); city_map
= parser.getJSONParserResultArray(area_str, "area1"); couny_map
= parser.getJSONParserResultArray(area_str, "area2"); } public
static
class
JSONParser { public
ArrayList<string> province_list_code = new
ArrayList<string>(); public
ArrayList<string> city_list_code = new
ArrayList<string>(); public
List<cityinfo> getJSONParserResult(String JSONString, String key) { List<cityinfo>
list = new
ArrayList<cityinfo>(); JsonObject
result = new
JsonParser().parse(JSONString) .getAsJsonObject().getAsJsonObject(key); Iterator<!--?-->
iterator = result.entrySet().iterator(); while
(iterator.hasNext()) { @SuppressWarnings("unchecked") Map.Entry<string,
jsonelement="">
entry = (Entry<string, jsonelement="">)
iterator .next(); Cityinfo
cityinfo = new
Cityinfo(); cityinfo.setCity_name(entry.getValue().getAsString()); cityinfo.setId(entry.getKey()); province_list_code.add(entry.getKey()); list.add(cityinfo); } System.out.println(province_list_code.size()); return
list; } public
HashMap<string, list<cityinfo="">>
getJSONParserResultArray( String
JSONString, String key) { HashMap<string,
list<cityinfo="">>
hashMap = new
HashMap<string, list<cityinfo="">>(); JsonObject
result = new
JsonParser().parse(JSONString) .getAsJsonObject().getAsJsonObject(key); Iterator<!--?-->
iterator = result.entrySet().iterator(); while
(iterator.hasNext()) { @SuppressWarnings("unchecked") Map.Entry<string,
jsonelement="">
entry = (Entry<string, jsonelement="">)
iterator .next(); List<cityinfo>
list = new
ArrayList<cityinfo>(); JsonArray
array = entry.getValue().getAsJsonArray(); for
(int
i = 0;
i < array.size(); i++) { Cityinfo
cityinfo = new
Cityinfo(); cityinfo.setCity_name(array.get(i).getAsJsonArray().get(0) .getAsString()); cityinfo.setId(array.get(i).getAsJsonArray().get(1) .getAsString()); city_list_code.add(array.get(i).getAsJsonArray().get(1) .getAsString()); list.add(cityinfo); } hashMap.put(entry.getKey(),
list); } return
hashMap; } }源码包免费下载地址::【点击这里】
标签:android style blog http color io os java ar
原文地址:http://blog.csdn.net/jeebokey/article/details/39495403