我正在创建一个自定义Android组件,有时需要使用onBackPressed事件(例如,在自定义ViewGroup中有一个弹出菜单,如果它显示,后退按钮事件关闭它并被消耗,否则它被忽略).那可能吗?我可以从我的ViewGroup子类中拦截此事件以及如何?
编辑:我尝试重写onKeyPreIme,因为Android文档暗示,该方法永远不会从ViewGroup中调用.
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event)
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
在onKeyPreIme文档中,它说:
在通过与视图层次结构关联的任何输入方法处理键事件之前处理它.这可用于在IME消耗它们之前拦截特殊情况下的关键事件; 一个典型的例子是处理BACK键来更新应用程序的UI,而不是让IME看到它并关闭它自己.