我有一个ListActivity;对于ListView中的每个项目,都有一个复选框。
当您触摸列表项时,会启动另一个活动。
使用触控板/轨迹球突出显示(读取:选择)项目并单击触控板时,它实际上模拟触摸项目。这会导致我的其他活动启动。
我想点击触控板来检查突出显示项目的复选框。是否有我可以覆盖的处理程序来执行此操作?
答案 0 :(得分:1)
您需要覆盖onTrackballEvent(MotionEvent)
方法并抓住ACTION_DOWN
。以下是如何执行此操作的示例:
@Override
public boolean onTrackballEvent(MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
//Do your work here
return true;
}
return super.onTrackballEvent(event);
}
希望这适合你!
答案 1 :(得分:0)
不确定对此有明确答案,但值得研究的一件事是android:focusable
。
我认为你最好的选择是让列表项目本身不可调焦,但复选框是可调焦的。这样,当用户使用轨迹球/打击垫滚动时,它将在复选框之间切换焦点而不是列表项,并以您想要的方式运行。这不会影响触摸事件。