覆盖触控板单击

时间:2010-10-25 18:05:37

标签: android listview touchpad trackpad

我有一个ListActivity;对于ListView中的每个项目,都有一个复选框。

当您触摸列表项时,会启动另一个活动。

使用触控板/轨迹球突出显示(读取:选择)项目并单击触控板时,它实际上模拟触摸项目。这会导致我的其他活动启动。

我想点击触控板来检查突出显示项目的复选框。是否有我可以覆盖的处理程序来执行此操作?

2 个答案:

答案 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

我认为你最好的选择是让列表项目本身不可调焦,但复选框是可调焦的。这样,当用户使用轨迹球/打击垫滚动时,它将在复选框之间切换焦点而不是列表项,并以您想要的方式运行。这不会影响触摸事件。