gpt4 book ai didi

android - 防止按返回按钮取消操作模式

转载 作者:IT老高 更新时间:2023-10-28 23:40:24 25 4
gpt4 key购买 nike

通过调用getActivity().startActionMode(calback);启动的 Action 模式在按下返回按钮后自动取消。有可能避免这种行为吗?在 Action 模式下的某些情况下按下后退按钮后,我需要执行另一个操作。

最佳答案

这是一个有趣的问题。当 ActionMode 处于 Activity 状态时,后退键事件在内部被消耗。该事件传播到 onBackPressed()onKeyUp(int keyCode, KeyEvent event) 回调。

幸运的是,您可以使用 dispatchKeyEvent(KeyEvent event),它仍然被调用。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(mActionModeIsActive) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
// handle your back button code here
return true; // consumes the back key event - ActionMode is not finished
}
}
return super.dispatchKeyEvent(event);
}

您可能想知道如果您在 ActionMode 中有一个子菜单并使用返回键将其关闭时会发生什么行为。在这种情况下,不会调用 dispatchKeyEvent(),因此您可以安全地使用代码。

上面的代码也适用于 ActionBarSherlock。我发现的唯一问题是在 Android 3.1 设备上使用 native ActionMode 时,在这种情况下 dispatchKeyEvent() 没有被调用。使用ActionBarSherlock的ActionMode来解决。

关于android - 防止按返回按钮取消操作模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com