Android:将结果发送到清理Backback顶部的活动
我有3项活动:A、B、C 我希望活动的工作如下: A startActivityForResult B; B可以启动C或将结果发送给A; C可以返回B或将结果发送给A 当B向A发送结果时,B必须从Backback中删除。 当C向A发送结果时,B和C必须从backbackback中删除 我无法从C向A发送结果。这意味着A必须重新使用而不是重新创建,并且必须调用onActivityResult以处理结果: 我试过使用这段代码,但是会重新创建一个,并且不会调用onActivityResultAndroid:将结果发送到清理Backback顶部的活动,android,android-activity,back-stack,Android,Android Activity,Back Stack,我有3项活动:A、B、C 我希望活动的工作如下: A startActivityForResult B; B可以启动C或将结果发送给A; C可以返回B或将结果发送给A 当B向A发送结果时,B必须从Backback中删除。 当C向A发送结果时,B和C必须从backbackback中删除 我无法从C向A发送结果。这意味着A必须重新使用而不是重新创建,并且必须调用onActivityResult以处理结果: 我试过使用这段代码,但是会重新创建一个,并且不会调用onActivityResult publ
public class C extends Activity{
sendResultToA(){
Intent i = new Intent(getActivity(), A.class);
i.putExtra("dataBean", dataBean);
i.putExtra("args", "save");
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
getActivity().setResult(Activity.RESULT_OK, i);
startActivity(i);
}
}
有什么办法解决这个问题吗?谢谢你是的,你可以解决这个问题 从活动A->startActivityForResultActivityB 从活动B->startActivityForResultActivityC 如果全部成功,则按以下方法设置结果
Intent i = new Intent();
i.putExtra("dataBean", dataBean);
i.putExtra("args", "save");
setResult(Activity.RESULT_OK,i); //pass your intent
finish(); // Call finish to remove ActivityC from the stack
如果您在ActivityB中获得成功,请执行同样的操作。
在onActivityResult中,使用Activity.result\u OK和Activity.result\u cancelled检查结果是否成功或取消 是的,你可以解决这个问题 从活动A->startActivityForResultActivityB 从活动B->startActivityForResultActivityC 如果全部成功,则按以下方法设置结果
Intent i = new Intent();
i.putExtra("dataBean", dataBean);
i.putExtra("args", "save");
setResult(Activity.RESULT_OK,i); //pass your intent
finish(); // Call finish to remove ActivityC from the stack
如果您在ActivityB中获得成功,请执行同样的操作。
在onActivityResult中,使用Activity.result\u OK和Activity.result\u cancelled检查结果是否成功或取消 张贴原始代码。上面的代码段不编译原始代码。上面的代码片段没有编译我在这个解决方案中已经想到的代码,但是我认为它不是那么平滑,因为在B中调用了'onActivityResult'。我想直接跳到A。但我刚才试过了,效果很好。B一刻也没有出现。非常感谢。好的,我已经考虑过这个解决方案,但我认为它不是那么平滑,因为在B中调用了'onActivityResult'。我想直接跳到A。但我刚才试过了,效果很好。B一刻也没有出现。非常感谢。