Androidで矢印キーイベントを制御したいと思います。Samsung I5500 電話でアプリをテストしています。アプリはタブで構成されています。リスナーを使用してイベントをキャプチャすることに成功しました。
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.i(TAG_NAME, "key event: " + keyCode);
if(keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
Log.i(TAG_NAME, "Directional centre pad pressed");
}
}
たとえば、3 番目のタブのアクティビティには 3 つの項目のリストビューが含まれています
Item A
Item B
Item C
右矢印を使用して 3 番目のタブに移動し、下矢印をクリックして上記の項目のいずれかを選択します。DPAD_CENTER キーをクリックすると、listView にアタッチされた ItemClick リスナーがトリガーされます。今まではすべて順調です。ただし、その後、現在のタブ フォーカスはホーム (タブ 0) に移動します。別のタブにあるため、UI をレンダリングしようとするアダプターはロードに失敗します。やがて崩れ落ちる。
誰もこれを経験したことがありますか?インターネットで検索しました。十分な価値のあるものは見つかりませんでした。