今天做订单列表显示 点击某一项显示订单详细信息,在详细activity中用户可以选择取消订单(未支付的状态下)当用户取消订单后订单列表也要改变状态,原来最初做法是所加载绑定显示放在了
onStart方法中这样只要加载页面就重新绑定不这样可以解决上面问题,但问题是这样每次都要重新加载大家都知道 GPRS流量那叫一个宝贵啊。所以改变当前做法利用activity的onActivityResult方法
父activity方法如下
startActivityForResult(intent, 0);跳转activity时候用这个
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==Activity.RESULT_OK) { String stateString = (String) data.getExtras().get("status"); if(null!=stateString) { adapter.modifyOrderItem(position_x, "status", "dead"); } } }
子actiivty方法
btnBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if(bolstatus) { Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putString("status", "dead"); intent.putExtras(bundle); setResult(Activity.RESULT_OK, intent); } my_order_info.this.finish(); } });
bolstatus判断用户是否点击取消按钮
adapter方法
public void modifyOrderItem(int position,String key,String value) { listMaps.get(position).remove(key); listMaps.get(position).put(key,value); this.notifyDataSetChanged(); }
成功解决这样做避免每次加载节省流量