2015-02-10 112 views
0

重写此功能,它会返回上一页,但同时它将退出应用程序。只需按一次后退按钮,任何人都可以帮助我解决这个问题。 使用V4幻灯片片段。Android后退按钮返回上一个,但退出应用程序

public void onBackPressed() { 
    moveTaskToBack(true); 

    if (mViewPager.getCurrentItem() == 0) { 
     super.onBackPressed(); 
    } else { 

     mViewPager.setCurrentItem(mViewPager.getCurrentItem() - 1); 
    } 

回答

0

您需要使用addToBackStack

public void showFragment(View v) { 
FragmentA f = new FragmentA(); 

FragmentManager fm = getSupportFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
ft.replace(R.id.container, f, tag); 
ft.addToBackStack(tag); 
ft.commit(); 
} 

@Override 
public void onBackPressed() { 
    FragmentManager fm = getSupportFragmentManager(); 
    if (fm.getBackStackEntryCount() > 0) { 
     fm.popBackStack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 
+0

我之前尝试这种方式,但它不工作,因为它是滑盖片段,不能使用替代~~~只使用setCurrentItem(我)可以改变网页,但它喜欢按两次,前一页并退出 – Urchin 2015-02-10 16:05:49

0

尝试此Activity

System.exit(1); 

或其他类,你可以这样做:

context.System.exit(1); 
1

moveTaskToBack(true)为t他负责关闭你的应用程序,如果你只想在你的'ViewPager'的第一页上关闭你的应用程序,请尝试在if语句中移动它。

事情是这样的:

public void onBackPressed() { 

    if (mViewPager.getCurrentItem() == 0) { 
     moveTaskToBack(true); 
    } else { 
     mViewPager.setCurrentItem(mViewPager.getCurrentItem() - 1); 
    } 
} 
+0

但我想打回应用程序,我该怎么办? – Urchin 2015-02-10 16:08:04

+0

所有的时间?或者当你在第一页时? – 2015-02-10 16:09:27

+0

在第一页,我想这个应用程序在后台运行,而不是退出。 – Urchin 2015-02-10 16:10:07

相关问题