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