我有以下情况:


我的MainActivity类使用带有请求代码InputActivity1startActivityForResult启动SOME_USER_INPUT
InputActivity1允许用户输入一些数据,然后使用InputActivity2将此数据传递给Intent.putExtra
用户可以在InputActivity2中输入更多数据。
通过在setResult中调用finishInputActivity2,应使用先前指定的请求代码onActivityResult将用户输入的所有数据返回到MainActivitySOME_USER_INPUT方法。


也就是说,尽管MainActivity只是称为InputActivity2,但它根本不会注意到结果来自InputActivity1

我如何从第2步过渡到第3步?我已经尝试通过使用请求代码和InputActivity2调用InputActivity1startActivityForResult开始finish,但是(诚然,正如所期望的那样)MainActivity没有收到任何信息。

最佳答案

在调用startActivity(InputActivity2)之后,不要在InputActivity1中调用finish。仅当您从InputActivity2获得结果时才这样做。这样,您可以将结果从InputActivit2传递到MainActivitiy。

我想,您可以使用带有两个片段的一个InputActivity实现此功能。想一想。

关于java - 将Android Activity 结果委托(delegate)给其他 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43571145/

10-09 13:49