Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用“后退”按钮防止取消操作模式_Java_Android_Back Button_Android Actionmode - Fatal编程技术网

Java 使用“后退”按钮防止取消操作模式

Java 使用“后退”按钮防止取消操作模式,java,android,back-button,android-actionmode,Java,Android,Back Button,Android Actionmode,我的片段中有一个ActionMode,我想覆盖上的“后退”按钮的功能,我仍然希望工具栏的“完成”按钮像往常一样退出操作模式。 我已经看过这个帖子: 这似乎不起作用,当我按下后退按钮时,我确实输入了dispatchKeyEvent(KeyEvent事件)和给定答案中描述的if范围,但返回true没有任何作用,并且ActionMode仍然完成。 在任何其他场景中,后退按钮确实会被覆盖,如上所述,但按下ActionMode会以某种方式绕过它 有什么建议吗?不管是否重写dispatchKeyEvent

我的片段中有一个
ActionMode
,我想覆盖上的“后退”按钮的功能,我仍然希望工具栏的“完成”按钮像往常一样退出操作模式。
我已经看过这个帖子:

这似乎不起作用,当我按下后退按钮时,我确实输入了
dispatchKeyEvent(KeyEvent事件)
和给定答案中描述的
if
范围,但返回
true
没有任何作用,并且
ActionMode
仍然完成。
在任何其他场景中,后退按钮确实会被覆盖,如上所述,但按下
ActionMode
会以某种方式绕过它


有什么建议吗?

不管是否重写dispatchKeyEvent和onBackPressed方法,back-偶数似乎都是在内部处理的。AppCompateDelegateImplv7中还有一个额外的onBackPressed方法(返回布尔值),它作为内部引用的第一步,对ActionMode的可用性执行检查。所以我应该扩展AppCompateDelegateImplv7并重写onBackPressed?当我回到家并更新时将尝试,谢谢您不能直接扩展AppCompatDelegateImplV7,因为该类仅在其自己的包中可见。您最终应该扩展AppCompatDelegate抽象类,并定义自定义活动类型。看一看AppCompatActivity实现。它保留自己的委托并转发给它执行操作。不知道这是否是正确的方向,但我使用了基本事件,没有找到任何简单的解决方案。行为是否有差异取决于您使用的是支持操作模式还是常规操作模式?似乎back甚至在内部处理,而不管重写dispatchKeyEvent和onBackPressed方法。AppCompateDelegateImplv7中还有一个额外的onBackPressed方法(返回布尔值),它作为内部引用的第一步,对ActionMode的可用性执行检查。所以我应该扩展AppCompateDelegateImplv7并重写onBackPressed?当我回到家并更新时将尝试,谢谢您不能直接扩展AppCompatDelegateImplV7,因为该类仅在其自己的包中可见。您最终应该扩展AppCompatDelegate抽象类,并定义自定义活动类型。看一看AppCompatActivity实现。它保留自己的委托并转发给它执行操作。我不知道这是否是正确的方向,但我玩的是基本事件,没有找到任何简单的解决方案。根据您使用的是支持操作模式还是常规操作模式,行为是否有差异?