从一个Activity返回一个Activity 或Fragment时回传数据

在当前Activity或Fragment利用

Intent intent = new Intent(LoginActivity.this,MainActivity.class);
intent.putExtra("name”,"value”);(此处没有用到)
startActivityForResult(intent, 0);

进行跳转,同时重写

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

方法。

在目标Activity中返回里写

Intent intent = new Intent();
intent.putExtra("name”,"value”);
setResult(1,intent);
finish();

这样返回后会进入当前Activity的onActivityResult方法

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == 1 && requestCode == 0){
        String string = data.getStringExtra("name");
    }
}

其中requestCode的值为跳转到目标Activity之前所设置也就是0

resultCode的值为返回当前Activity时设置也就是1,主要用来区分数据。

即可获取到目标Activity返回来的值,对象也可以用同样的方法。

猜你喜欢

转载自blog.csdn.net/weixin_39339407/article/details/84030262