1

ListActivity があります。ListView の各項目にはチェックボックスがあります。

リスト項目をタッチすると、別のアクティビティが起動します。

トラックパッド/トラックボールを使用してアイテムを強調表示 (読み取り: 選択) し、トラックパッドをクリックすると、基本的にアイテムに触れるようにシミュレートされます。これにより、他のアクティビティが起動します。

トラックパッドをクリックして、強調表示された項目のチェックボックスをオンにしたいと思います。これを行うためにオーバーライドできるハンドラーはありますか?

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

これに対する明確な答えはわかりませんが、調査する価値のあることの 1 つはandroid:focusable.

あなたの最善の策は、リスト項目自体をフォーカス可能にせず、チェックボックスをフォーカス可能にすることだと思います。このようにして、ユーザーがトラックボール/パッドでスクロールすると、リスト項目ではなくチェックボックス間でフォーカスが切り替わり、希望どおりに動作します。これは、タッチ イベントには影響しません。

于 2010-11-04T10:48:58.147 に答える