-
Notifications
You must be signed in to change notification settings - Fork 636
样式二(城市一级列表展示)
crazyandcoder edited this page Apr 19, 2018
·
8 revisions
该样式是列表展示所有的城市数据,大概有357个,每个城市数据包含的数据结构和其他样式返回的结果一致。使用方法如下:
在自定义的Application中或者Activity中添加以下的代码,预先加载本地城市数据
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
/**
* 预先加载一级列表显示 全国所有城市市的数据
*/
CityListLoader.getInstance().loadCityData(this);
}
}
以上代码可以在使用地址选择器之前配置,可以在Application中或者在Activity的onCreate方法中加载使用。
Intent intent = new Intent(CitypickerListActivity.this, CityListSelectActivity.class);
startActivityForResult(intent, CityListSelectActivity.CITY_SELECT_RESULT_FRAG);
我们使用的是startActivityForResult方法,所以需要在activity中覆盖系统方法,然后获取选择的结果。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CityListSelectActivity.CITY_SELECT_RESULT_FRAG) {
if (resultCode == RESULT_OK) {
if (data == null) {
return;
}
Bundle bundle = data.getExtras();
CityInfoBean cityInfoBean = (CityInfoBean) bundle.getParcelable("cityinfo");
if (null == cityInfoBean) {
return;
}
mResultTv.setText("城市: " + cityInfoBean.toString());
}
}
}
id //城市code
name //城市名称
pinYin //城市拼音
gisGcj02Lat //高德坐标系-纬度
gisGcj02Lng //高德坐标系-经度
gisBd09Lat //百度坐标系-纬度
gisBd09Lng //百度坐标系-经度