最初我们的应用程序有活动,因为我们使用onActivityResult从活动返回活动值。 但是现在我们正在变成片段,但是我们没有获得片段之间的返回值。 片段之间是否存在onActivityResult的任何解决方案。
答案 0 :(得分:1)
是的,有一个解决方案:
关于您的活动:不要做任何事情。如果您出于某种原因绝对需要,则必须始终如下所示致电super
。
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
然后,你的碎片,你打电话:
public void doSomethingThatNeedsActivityResult(){
startActivityForResult(intent, YOUR_FRAG_REQUEST_CODE)
}
@Override
public void onActivityResult (int requestCode, int resultCode, Intent data){
if(requestCode == YOUR_FRAG_REQUEST_CODE){
// here the result
}
}
重要的是要注意,你不应该调用getActivity().startActivityForResult(...)
必须使用特定于片段的方法调用它。