Fragment中OnActivityResult返回的值的问题

2025-10-29 12:14:58

1、我们在Fragment中执行 startActivityForResult(i, 1000);就会启动另一个Activity 并而在另启动的Activity中把我们需要的数据带回来OtherActivity.this.setResult(RESULT_OK, i); finish();就可以把数据带回来了

2、在主Activity中重写重写 onActivityResult(int requestCode, int resultCode, Intent data)方法 在这这个方法只需要做一步就可以把数据传递到Fragment中去:fragment_a.onActivityResult(requestCode, resultCode, data);这种思想是不是很像我们java中的设计模式呀 呵呵

3、我们在Fragment中重写onActivityResult(int requestCode, int resultCode, Intent data)方法 在这里方法里就可拿到OtherActivity传递回来的数据了 下面是代码Demo:

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, data);

fragment_a.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1000 && resultCode == 200) {

if (data != null) {

String value = data.getStringExtra("data");

if (!TextUtils.isEmpty(value)) {

tv_value.setText("我是main"+value);

}}}}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢