Android 从PreferenceFragment返回导航
我的背部导航方式如下:Android 从PreferenceFragment返回导航,android,android-fragments,Android,Android Fragments,我的背部导航方式如下: getFragmentManager().beginTransaction() .add("ToDoFragment") .replace(R.id.content_frame, new SettingsFragment()).commit(); 创建/提交片段时: getSupportFragmentManager() .beginTransaction()
getFragmentManager().beginTransaction()
.add("ToDoFragment")
.replace(R.id.content_frame, new SettingsFragment()).commit();
创建/提交片段时
:
getSupportFragmentManager()
.beginTransaction()
.addToBackStack("ToDoFragment")
.replace(R.id.content_frame, fragmentR, fragmentR.getClass().getSimpleName())
.commit();
当捕捉到后退按钮时,按下:
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
// If navigation drawer is open, close it
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
setDrawerState(true);
displayMenu(true);
}
}
这适用于我的片段
,但我希望对我的首选项片段
,我这样称呼它:
getFragmentManager().beginTransaction()
.add("ToDoFragment")
.replace(R.id.content_frame, new SettingsFragment()).commit();
但当按下我的背部导航时。按钮它不会将我带回上一个片段
,而是与我的设置
视图和我的上一个片段
重叠
我缺少/不理解什么
编辑:
我添加了
getFragmentManager().popbackackimmediate()
对于我的onBackPressed()
方法,我没有任何视图重叠,但是当进入我的设置并按back时,片段是空的。在管理器中使用“add”而不是“add”,因为add保留现有片段并添加新片段,这意味着现有片段将处于活动状态。因此,不会为现有片段调用back按钮
getFragmentManager().beginTransaction()
.addToBackStack("ToDoFragment")
.replace(R.id.content_frame, new SettingsFragment()).commit();
在这种情况下,使用OnDepressed()时,您不能覆盖onBackPressed()
,请使用OnDepath()
: