覆盖android

时间:2017-05-29 06:01:25

标签: android android-fragments

每当我按某些片段的后退按钮时,如何退出应用程序。我发现system.exit(1)关闭了应用程序。但我现在可以覆盖处理后退键的方法。是否有任何方法来覆盖后退键?如果是,我该怎么做呢?

5 个答案:

答案 0 :(得分:0)

活动中的onBackPressed()函数将有帮助

答案 1 :(得分:0)

你应该做什么,就是你添加一个片段时添加一个标签,比如

fragmentTransaction.replace(android.R.id.content, fragment, "My_Tag");

然后在活动onBackPressed()

fragment= (AddFriends)getFragmentManager().findFragmentByTag("My_Tag");
if (fragment!= null && fragment.isVisible()) {
   //Exit from your app here
   finish();
}

希望这会对你有所帮助。

答案 2 :(得分:0)

在你的onBackPressed()

中写下这个
if (fragmentManager.getBackStackEntryCount() == 1) {
        if (isPressed) {
            finish();
        } else {
            StringUtils.displayToastShort(this, "press again to exit");
            isPressed = true;
        }
} 

答案 3 :(得分:0)

尝试此功能打开片段

public void openFragment(Fragment fragment)
{

FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransac‌​tion();

fragmentTransaction.replace(R.id.fragment_container,fragment);

fragmentTransaction.commit();

}

当你想打开一个片段时,就像这样调用这个函数

openFragment(new AddFriends());

使用上述功能,按下后退按钮将退出应用程序。

答案 4 :(得分:0)

我按照以下方式解决了它。

  1. 首先使用静态整数变量(比如说a)创建一个类。
  2. 覆盖mainActivity上的返回方法,并根据静态变量的值选择要按下后打开的片段。 [注意:每当打开新片段时,使用新值更新静态变量,并根据此值覆盖主要活动上的返回方法]