如何摆脱重叠片段?

时间:2015-03-07 00:16:25

标签: android android-fragments

我正在开发一个应用程序,我希望能够从另一个细节片段转到一个新的细节片段,但是当我点击后退按钮时,我想总是返回到主片段,无论多少我附上了一个新的细节片段。

使用下面的代码我得到了这个效果,但是当我回击时,最后一个细节片段显示为主片段上的叠加层,当我尝试附加新的细节片段时,它显示在主片段的顶部取代它。

我该如何解决这个问题?

if (getSupportFragmentManager().findFragmentByTag(TAG_MASTER).isVisible()) {
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.replace(R.id.container, fragment, TAG_DETAIL);
            transaction.addToBackStack(TAG_MASTER);
            transaction.commit();
        } else {
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.replace(R.id.container, fragment, TAG_DETAIL);
            transaction.commit();
        }

1 个答案:

答案 0 :(得分:1)

在您的活动中覆盖onBackPressed。请记住这是半伪代码

@Override
public void onBackPressed() {
    if ("Not on your master fragment") {
        // replace R.id.container with your master fragment
    } else {
        super.onBackPressed();
    }
}