0

ListViewを含むビューがアプリにあります。アクティビティの開始時または再開時にリスト内の行が強調表示されることがあります。(デバイスの物理キーボードで)Enterキーを押すと、その行をクリックします。メインビューまたはリストのOnKeyListenerをオーバーライドするか、nullに設定しようとしましたが、何も変更されませんでした。どうすればこれを達成できますか?

編集:それが明確でなかった場合は申し訳ありません。

ListViewがクリックに反応するようにしたいのですが、Enterキーを押したときではなく、画面に触れた場合に限ります。また、リストが物理的な矢印キーに反応することを望んでいません。基本的に、行は画面に触れる以外の方法でフォーカスまたはクリックする必要があります。

4

3 に答える 3

0

It's not 100% clear, but I suppose that you want your ListView to not react to clicks on rows. You're better off with returning false for .areAllItemsEnabled() on your adapter, and false for every row for .isEnabled(). This way you can switch off unneeded interactions on rows in your list.

于 2012-08-22T15:08:10.347 に答える
0

画面から別のビューにフォーカスを設定してみてください。

于 2012-08-22T15:05:28.950 に答える
0

それは100%正しいわけではありませんが、私のビューにはListViewしかなかったので、次のコードは私が望んでいたことを実行しました:

menuListView.setOnKeyListener(new View.OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            switch (keyCode) {
            case KeyEvent.KEYCODE_ENTER:
                return true;
            }

            return false;
        }
    });
于 2012-08-27T12:38:17.653 に答える