Android-如何从TabActivity内的activity中获得返回值?

Android-如何从TabActivity内的activity中获得返回值?

偏爱自由 发布于 2016-12-04 字数 560 浏览 1013 回复 2

我把代码简化下,问题如下:
我有三个Activity,分别是A,B,C.
在A中,我通过intent打开B ,B是一个TabActivity

Intent openB= new Intent(A.this,B.class);
startActivityForResult(openB);

在B中有一个acitivity C。在C中代码如下:

Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();

可是在A中一直获得返回值是RESULT_CANCELED.我debug下,发现是因为B一直给A返回RESULT_CANCELED,而不是C返回的值,所以想问下,如何从C直接返回给A值。

谢谢

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

想挽留 2017-09-14 2 楼

你在C中调用finish(),应该会把B也finish吧,实际上C是作为一个View添加到B中的。B中并没有sendResult()啊,A当然接收不到。

清晨说ぺ晚安 2017-01-24 1 楼

你试试c中代码这样写
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.getParent().setResult(RESULT_OK, intent);//getparent得到父类,即b
finish();