1

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

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

当您使用触控板/轨迹球突出显示(阅读:选择)一个项目并单击触控板时,它基本上模拟了触摸该项目。这会导致我的其他活动启动。

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

4

2 回答 2

1

您需要覆盖该onTrackballEvent(MotionEvent)方法并 catch 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);
    }

希望这对你有用!

于 2010-11-05T16:25:08.673 回答
0

不确定对此的明确答案,但值得研究的一件事是android:focusable

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

于 2010-11-04T10:48:58.147 回答