如何检测“上一次”返回按钮按下?

3

我有一个包含FragmentActivity,并且有很多事务操作,因此返回按钮大多数情况下只会回滚Fragment事务。但我需要检测最后一次返回按钮的按下。

我不能使用onPause方法,因为我不想在用户按下home键或启动另一个Activity时执行任何操作。


在活动(Activity)以及碎片(Fragment)中重写(Override)返回按键(onback press).... 然后你可以使用静态全局变量(Static Global variable)、共享首选项(Sharedprefrence)来保存最后一次的返回按键。 - koutuk
2个回答

9
使用下面的 getFragmentCount 方法。
如果返回值是 0,则表示您处于最后一个后退操作。
private int getFragmentCount() {
    return getSupportFragmentManager().getBackStackEntryCount();
}

在你的ActivityonBackPressed()方法中调用此方法。


0

不知道这是否有帮助,但这里是捕获后退按钮是否被按下的代码:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if(keyCode ==KeyEvent.KEYCODE_BACK)
        {
            //Do stuff here
        }
        return super.onKeyDown(keyCode, event);
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接