Mau*_*ori 1 android android-intent android-activity
我正在尝试使用从Activity3检索到Activity1的值.这是我的流程:
Activity1调用Activity2→Activity2.finish(),调用Activity3→Activity3.doSomethingAndGetValue()→Activity3.finish()→Activity1.useDoSomethingAndGetValue();
我找不到将Activity3中的值发送回Activity1的方法; 即使使用startActivityForResult(),因为到那时Activity2已被销毁.
我尝试使用可序列化的接口并将其作为意图的额外值传递,但此解决方案仅适用于传递的对象是静态的,这不允许我对活动1上的当前成员变量进行任何更改.
此外,我尝试了所有这些选项但没有成功:
(我不允许使用共享首选项)
有没有人有任何想法?
注意:我不能添加eventBus,我知道会很好,也很容易,但架构不允许我.
您可能希望在启动活动2和3时使用意图标志FLAG_ACTIVITY_FORWARD_RESULT,如Intent中所述.
码
Activity 1 -> startActivityForResult(activityB,0);
Activity 2 -> activityCintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityCintent); finish();
Activity 3 -> setresult(10); finish();
Activity 1 -> if(result==10) {dofunction(); }
Run Code Online (Sandbox Code Playgroud)
这是FLAG_ACTIVITY_FORWARD_RESULT的逻辑.首先,您为结果启动活动,新活动会将此意图发送到另一个新活动,直到您设置结果.
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |