要描述这种情况,请说我有3个活动:A,B和C. 活动A中有一个按钮,它启动活动B,点击活动C时有一个按钮,它应该将活动C的结果发送给活动A
我的问题是......有没有办法将结果从C传递给A?如果有办法,它是什么?
注意:如果你给出的方法使用方法startActivityForResult(...)和onActivityResult(...)
,那将是很好的提前谢谢
答案 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