我有一个,它下面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当我回拨到最后时如何避免出现白屏?任何帮助都会很棒!
我采纳了@ReazMushed的建议并进行了如下更改:
@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() ==1) {
finish();
}else{
super.onBackPressed()
}
}
Run Code Online (Sandbox Code Playgroud)
白屏问题消失了!