片段回到最后,屏幕是白色的

Mor*_*ton 0 android

我有一个,它下面MainActivity有很多。Fragment

我设置了返回机制transaction.addToBackStack(null);

函数是这样的:

public void switchFragment(Fragment fragment) {
    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    transaction.replace(R.id.mainFrame, fragment, null);
    transaction.addToBackStack(null);
    transaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是当我单击后退按钮到底时,它FrameLayout是白色的 白屏

我尝试添加

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {    
        if (mainFrame==null)
            return super.onKeyDown(keyCode, event);
    }
}
Run Code Online (Sandbox Code Playgroud)

它不起作用。Fragment当我回拨到最后时如何避免出现白屏?任何帮助都会很棒!

Mor*_*ton 5

我采纳了@ReazMushed的建议并进行了如下更改:

@Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() ==1) {
        finish();
    }else{
        super.onBackPressed()
    }
}
Run Code Online (Sandbox Code Playgroud)

白屏问题消失了!