在单个 activity 中的三个片段中 popBackStack 的最佳方法?

Best Way to popBackStack in three fragment in single activity?

我遇到的问题是,当来自其他片段的 popbackstack 时,webservice 第二次调用 onCreateView。

我完全建议您在构建它们之前检查 this documentation

如果你已经成功地与你的片段进行了交流。那么你就可以使用这个简单的方法了。

private void changeFragment(Fragment frag, boolean saveInBackstack) {
    String backStateName = ((Object) frag).getClass().getName();

    try {
        FragmentManager manager = getSupportFragmentManager();

        if (manager.findFragmentByTag(backStateName) == null) {
            //fragment not in back stack, create it.
            FragmentTransaction transaction = manager.beginTransaction();
            transaction.replace(R.id.container, frag, backStateName);

            if (saveInBackstack) {
                Log.d(TAG, "Change Fragment: addToBackTack " + backStateName);
                transaction.addToBackStack(backStateName);
            } else {
                Log.d(TAG, "Change Fragment: NO addToBackTack");
            }

            transaction.commit();
        } else {
            manager.popBackStack();
        }
    } catch (IllegalStateException exception) {
        Log.w(TAG, "Unable to commit fragment, could be activity as been killed in
    }
}