Android有关Activity的传值,回传

 

传值主要是通过Intent,Intent分为显示跳转和隐式跳转

主要方法如下:

//    当前页面跳转指定页面
Intent intent = new Intent(this, Main_1_Activity.class);
            //putExtra()添加参数
                intent.putExtra("one", "111");
                startActivity(intent);

//在指定页面获取值
Intent intent = getIntent();
String one=intent.getStringExtra("one");

mTe_text.setText(one);

这就是基本进行传值,

接下来是回传,回传是需要将跳转页面的数据传过来,一般资料修改,情况比较多

回传主要用

startActivityForResult()方法

并且需要在当前页面重写回传方法

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}

 

startActivity()是直接跳转,而startActivityForResult()是回传个结果,结果可以是基本数据,也可以是引用,但需要实现

Serializable接口
//当前页面
Intent intent = new Intent(this, Main_2_Activity.class);
                intent.putExtra("qianming", qianming);
                startActivityForResult(intent, 1);
跳转页面
intent = getIntent();
String qianming = intent.getStringExtra("qianming");
mEdQianming.setText(qianming);

String s = mEdQianming.getText().toString();
intent.putExtra("qianming1",s);
setResult(1,intent);

之后在当前页面重写回传方法onActivityResult()

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 3 && resultCode == 3){
            String qianming1 = data.getStringExtra("qianming1");
            mTeQianming.setText(qianming1);
        }

注意:requestCode 值和 resultCode 值

requestCode 值是startActivityForResult()设置的

resultCode 值是setResult()设置的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值