我有以下情况:
- 我的
MainActivity
类使用startActivityForResult
和请求代码SOME_USER_INPUT
启动InputActivity1
。 InputActivity1
让用户输入一些数据,然后使用Intent.putExtra
将此数据传递给InputActivity2
。- 在
InputActivity2
中,用户可以输入更多数据。 - 通过在
InputActivity2
中调用setResult
和finish
,用户输入的所有数据都会返回到onActivityResult
使用先前指定的请求代码SOME_USER_INPUT
的MainActivity
方法。
也就是说,MainActivity
根本不会注意到结果来自 InputActivity2
,尽管它只是调用了 InputActivity1
。
如何从步骤 2 过渡到步骤 3?我已经尝试通过使用请求代码调用 startActivityForResult
并 finish
从 InputActivity1
启动 InputActivity2
,但是(诚然,正如预期的那样) ) MainActivity
没有收到任何东西。
最佳答案
调用startActivity(InputActivity2)后,不要在InputActivity1中调用finish。仅当您从 InputActivity2 获得结果时才执行此操作。通过这种方式,您可以将结果从 InputActivit2 传递到 MainActivitiy。
我想,您可以使用带有两个 fragment 的一个InputActivity 来实现这一点。想想看。
关于java - 将 Android Activity 结果委托(delegate)给其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43571145/