ListView在父Activity之前捕获硬键盘键(即向上和向下箭头)事件。怎么阻止它?父活动具有详细的命令工作方式,对应用程序中的所有活动都是通用的。而且我不需要ListView的默认选择移动。
已经完成的工作:
(在搜索类似问题之后。)
android:focusable="false"
android:clickable="false"
设置为ListView xml。
lvShows.setEnabled(false);
lvShows.setOnKeyListener(null);
设置在onStart()
而不是我尝试的最后一行
lvShows.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
});
在所有这些行之后设置适配器。在第一次按键完成之前,没有对列表执行任何操作。
针对ListView的所有措施仅导致它看起来有点苍白(在禁用之后),但它仍然健全且足够健康以捕获并消耗所有来的关键事件。
它捕获父Activity之前的关键事件,移动项目选择本身并且永远不会将事件传递给Activity。
Android版本2.3.3。