从活动中获取结果

时间:2017-08-24 22:09:51

标签: android android-activity

要描述这种情况,请说我有3个活动:A,B和C. 活动A中有一个按钮,它启动活动B,点击活动C时有一个按钮,它应该将活动C的结果发送给活动A

我的问题是......有没有办法将结果从C传递给A?如果有办法,它是什么?

注意:如果你给出的方法使用方法startActivityForResult(...)和onActivityResult(...)

,那将是很好的

提前谢谢

3 个答案:

答案 0 :(得分:1)

如果您只使用String对象这样的简单类型,则可以在B,C活动中使用Bundle和补充变量。并使用onActivity结果从C-> B-> A转移它。或者您可以使用共享偏好设置。

答案 1 :(得分:0)

标有Intent的标记为FLAG_ACTIVITY_FORWARD_RESULT。拨打:

Intent intent = new Intent(this, ActivityB.class);
startActiivtyForResult(intent);

启动Activity B时(通过调用startActivityForResult(intent))。 打开C时,请致电:

Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActiivtyForResult(intent);
finish();

表示:打开C,关闭B.然后,当关闭Acitivity C时,请调用:

setResult(123);
finish();

C的结果将返回A.

答案 2 :(得分:0)

如果您从Intent导航到Activity C,则可以使用Activity A传输数据。否则,我建议使用Interface,然后将数据作为参数传递到callback中的Activity A方法中。你说你想要onActivityResult之类的答案,因为我想Activity C应该退出或者在onActivityResult

中调用Activity A