等待片段完成

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();
}