等待片段完成
Wait for Fragment to Complete
我正在尝试的是在我的主 activity 中等待,直到我的片段完成,这样我就可以执行代码而不会在片段中引起问题。我尝试了很多方法都无法得到解决方案。这是我的主要 activity:
中的一些代码
if (null == savedInstanceState) {
getFragmentManager().beginTransaction()
.replace(R.id.container, CameraFragment.newInstance())
.commit();
}
这将运行一个拍照并保存的片段。
我遇到的问题是,例如,我想等到这个片段完成,然后从我的 main activity 执行更多代码。我找不到可行的解决方案。
编辑:已解决,请参阅答案。谢谢!
你很困惑。你没有 运行 片段。你显示它。 "waiting for a fragment to complete" 是没有办法的,因为fragments没有完成的概念。如果你有一个正在做某事的片段然后想通知 activity 做某事(可能包括摆脱那个片段),方法是将片段回调传递给 Activity它会在需要时调用(例如当用户按下保存按钮时)。
- 在您的 activity 上创建一个方法,当您的片段完成时 运行
- 像这样在片段上实现 OnResume 方法:
</p>
<pre><code>@Override
public void onResume() {
super.onResume();
((NameOfActivity) getActivity()).afterFragmentComplete();
}
我正在尝试的是在我的主 activity 中等待,直到我的片段完成,这样我就可以执行代码而不会在片段中引起问题。我尝试了很多方法都无法得到解决方案。这是我的主要 activity:
中的一些代码if (null == savedInstanceState) {
getFragmentManager().beginTransaction()
.replace(R.id.container, CameraFragment.newInstance())
.commit();
}
这将运行一个拍照并保存的片段。
我遇到的问题是,例如,我想等到这个片段完成,然后从我的 main activity 执行更多代码。我找不到可行的解决方案。
编辑:已解决,请参阅答案。谢谢!
你很困惑。你没有 运行 片段。你显示它。 "waiting for a fragment to complete" 是没有办法的,因为fragments没有完成的概念。如果你有一个正在做某事的片段然后想通知 activity 做某事(可能包括摆脱那个片段),方法是将片段回调传递给 Activity它会在需要时调用(例如当用户按下保存按钮时)。
- 在您的 activity 上创建一个方法,当您的片段完成时 运行
- 像这样在片段上实现 OnResume 方法:
</p>
<pre><code>@Override
public void onResume() {
super.onResume();
((NameOfActivity) getActivity()).afterFragmentComplete();
}