我有一个活动,我从两个片段之一调用我们说片段A和片段B.当我在活动中并按回ActionAar或ActionBarton。它应该将用户导航到他打开活动的片段。请帮助我解决这个问题。如果有人无法理解,我可以改写一下。
答案 0 :(得分:0)
这是一个简单的逻辑。只需使用一些int值1或0或任何字符串来标识调用该活动的片段。在启动活动意图时,使用bundle或intextra传递它。在活动中获取该值。然后,当按下后退按钮时,检查您从intent或bundle获取的值。如果是1,则返回A,如果是0,则返回B.
答案 1 :(得分:0)
覆盖主要活动中的onBackPress方法。
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
} else {
utilityDialog.showExitDialog(MainActivity.this);
}
}
或者如果您想在背景上简单地重定向到MainActivity。
while(getFragmentManager().getBackStackEntryCount() > 0){
getFragmentManager().popBackStack();
}
答案 2 :(得分:-3)
getSupportFragmentManager()。的BeginTransaction()。代替(R.id.container, 片段).addToBackStack(空).commit();
if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
getSupportFragmentManager().popBackStack();
}
else
{
finish();
}