您的位置:首页 > 移动开发 > Android开发

android添加地址中的省市县乡村镇的递进选择和回调

2016-11-28 13:59 351 查看
public class UserAddressCityActivity extends BaseActivity {

private List<AddressCityEvent> addressCityEvents;
private ListView lvUserAddressCity;
private UserAddressCityAdapter addressCityAdapter;
private String areaCode;
private String areaName;
private String urlStr;

private void inte() {
areaCode = getIntent().getStringExtra("id");
areaName = getIntent().getStringExtra("name");
if (areaCode == null) {
//urlStr = " http://www.jiangn.com/admin/Area/GetChildAreas"; urlStr = OkHttpClientUtil.mGETAreaAddress;
System.out.print(areaCode);
}else  {
urlStr = OkHttpClientUtil.mGETAreaAddress+"?id=" + areaCode;
System.out.print(areaCode);
}

lvUserAddressCity = (ListView) findViewById(R.id.lv_user_address_city);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_address_city_first);
inte();
lvUserAddressCity.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(mContext, UserAddressCityActivity.class);
intent.putExtra("id", addressCityEvents.get(position).getId());
if(areaName != null){
//intent.putExtra("name", areaCode+areaName + (addressCityEvents.get(position).getName()));
intent.putExtra("name",  areaName + (addressCityEvents.get(position).getName()));
}else {
intent.putExtra("name", addressCityEvents.get(position).getName());
}
startActivityForResult(intent, 1);
}  });
Request.Builder requestBuilder = OkHttpClientUtil.RequestAssembly(urlStr);
Request request = requestBuilder.build();
OkHttpClientManager.getAsyn(request, new OkHttpClientManager.ResultCallback<String>() {
@Override
public void onError(Request request, Exception e) {
Toast.makeText(mContext, "获取列表失败", Toast.LENGTH_SHORT).show();
finish();  }
@Override
public void onResponse(String jsonStr) {
AddressCityEvents addressCityListEvent = new AddressCityEvents(
jsonStr);
addressCityEvents = addressCityListEvent.getAddressCityEvents();
if (addressCityEvents != null) {
if (addressCityEvents.size() <= 0) {
Intent intent = new Intent();
intent.putExtra("areaCode", areaCode);
intent.putExtra("areaName", areaName);

setResult(1, intent);
finish();
}  }
addressCityAdapter = new UserAddressCityAdapter(mContext, R.layout.item_lv_simple_type, addressCityEvents);
lvUserAddressCity.setAdapter(addressCityAdapter);
} }); }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if(resultCode == 1){
Intent intent = new Intent(UserAddressCityActivity.this,UserAddAddressActivity.class);
areaCode = data.getStringExtra("areaCode");
areaName = data.getStringExtra("areaName");
intent.putExtra("areaCode", areaCode);
intent.putExtra("areaName", areaName);
//startActivity(intent);//9.7
System.out.print(areaCode);
setResult(1, intent);
finish(); }
break;
default:
break;     } }  }
其中
/** 请求头部组装 url字符串*/public static Request.Builder RequestAssembly(String urlStr) {Request.Builder builder = new Request.Builder().url(urlStr).addHeader("smartstore-net-api-date", TimeUtil.GetTimeNow());return builder;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android okhttp json
相关文章推荐