我有一个主要活动和2个片段。在我的主要活动中,我有导航抽屉,可以浏览片段。我像这样按下后退按钮:
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStackImmediate();
} else {
super.onBackPressed();
}
}
在两个片段之间导航后,当我点击后退按钮时,我从后台获取最后一个片段。但是,不应该从片段导航到另一个片段。
更清晰:
我有一个活动(带有导航抽屉)和2个碎片。从导航抽屉我可以根据需要多次访问这两个片段。但是,当我按下后退按钮时,我希望始终返回main_activity.xml
。
答案 0 :(得分:2)
当您浏览活动时,最好的方法是使用Intent
这样的(如果我理解您的问题):
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
答案 1 :(得分:0)
&[T]
答案 2 :(得分:0)
你必须通过标签找到片段并检查它是否为空,如果它为null则替换该片段或者如果片段被隐藏则再次显示片段。
@Override
public void onBackPressed() {
Fragment fr = getSupportFragmentManager()
.findFragmentByTag("Fragment_Tag");
if (fr == null) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.container,
new Main_Fragment(), "Fragment_Tag").commit();
} else {
finish();
}
}