片段导航

Fragment navigation

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

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

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

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

提交时:

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

这可能有效!!!

编码愉快!!!!