片段导航

时间:2015-06-10 12:55:17

标签: android android-fragments android-navigation

我正在创建一个应用程序,其中包含一个主要活动和片段。 我正在尝试使用mainActivity上的代码来控制backPress上会发生什么:

@Override
    public void onBackPressed() {        
        if (getFragmentManager().getBackStackEntryCount() == 0) {
            this.finish();
        } else {
            getFragmentManager().popBackStack();
        }
    }

我的应用程序的结构是这样的: MainAtivity - >片段1 - > Fragment2 - > Fragment2 ......(后退应该让我去Fragment1)
当我创建Fragment2时,我将Fragment1添加到backStack,当向后按时,我仍然在后台看到Fragment2。 我怎样才能到达Fragment1并只显示Fragment1?

1 个答案:

答案 0 :(得分:0)

我不确定你是如何提交片段的。但这会有所帮助。

提交时:

 // Initialize a Fragment Transaction.
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

// Record all steps for the transaction.

 ft.replace(R.id.home_frame_layout_for_fragments, baseFragments[i],     

// Add the transaction to backStack with tag of first added fragment
ft.addToBackStack(baseFragments[0].getTagText());

// Commit the transaction.
ft.commit();

删除时:

final FragmentManager fragmentManager = getSupportFragmentManager();
while (fragmentManager.getBackStackEntryCount() != 0) {
    fragmentManager.popBackStackImmediate();
}

这可能有效!!!

快乐编码!!!!

相关问题