来自Activity的On-BackPressed应导航到上一个片段

时间:2018-04-09 05:11:36

标签: java android android-fragments

我有一个活动,我从两个片段之一调用我们说片段A和片段B.当我在活动中并按回ActionAar或ActionBarton。它应该将用户导航到他打开活动的片段。请帮助我解决这个问题。如果有人无法理解,我可以改写一下。

3 个答案:

答案 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();
     }