activity之间的跳转以及传值

来源:互联网 发布:win6网络异常怎么修复 编辑:程序博客网 时间:2024/06/01 10:22

一、startActivityForResult方式
1、A界面:—》B
(1)、发送
Intent intent = new Intent(UserinfoActivity.this, ProvinceActivity.class);
startActivityForResult(intent, 4);
(2)、接受

@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        switch (requestCode) {        case 4:            try {                String result = data.getExtras().getString("result");// 得到新Activity关闭后返回的数据                String baomi = "0";                commiturl_address(result, baomi);            } catch (Exception ex) {            }            break;        default:            break;        }        super.onActivityResult(requestCode, resultCode, data);    }

2、B界面:

String provinceinfo=mCurrentProviceName+mCurrentCityName+mCurrentDistrictName;            Intent intentback = new Intent();// 数据是使用Intent返回            intentback.putExtra("result",provinceinfo);// 把返回数据存入Intent            ProvinceActivity.this.setResult(RESULT_OK, intentback);// 设置返回数据            ProvinceActivity.this.finish();// 关闭Activity

二、广播方式:
1、A界面:注册广播

// 设置登陆页面的监听            IntentFilter filter = new IntentFilter(LoginActivity.action);            registerReceiver(broadcastReceiver, filter);

////接受广播

/*     * 登陆页面的广播注册     */    BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            // 登陆成功后的数据初始化            logined();        }    };

2、B界面:
////标识
public static final String action = “jason.broadcast.action”;
///

    Intent intent2 = new Intent(action);    sendBroadcast(intent2);
0 0