これを説明できる最良の方法は次のとおりです。たくさんの画像があるポスターギャラリーがあります。ユーザーがギャラリーを前後に移動すると、選択したポスターが強調表示されます。ポスター ギャラリーに次のコードを設定しました。
Gallery posterGallery = (Gallery) context.findViewById(R.id.moviePosterGallery);
posterGallery.setAdapter(new MoviePosterImageGalleryAdapter(context, key,
item.getCategory()));
posterGallery.setOnItemSelectedListener(
new MoviePosterOnItemSelectedListener(bgLayout, context));
posterGallery.setOnItemClickListener(new MoviePosterOnItemClickListener());
posterGallery.setOnItemLongClickListener(new MoviePosterOnItemLongClickListener());
vizio costar でリモートを押すと、[OK] ボタンを押したままにすると、クリック イベントとロング クリック イベントの両方が発生するようです。私の場合、ロングクリックを受信するとダイアログがポップアップしますが、ポスターはそれに関連するビデオを起動して、ItemClickListener コードの一部である再生を開始します。
Nexus 7 タブレットで同じコードをテストすると、長いクリックのみが発生し、両方は発生しません。Google TV で長いクリックを正しく処理する方法はありますか。それが役立つ場合、私は Google TV 3 で vizio costar を使用しています。
また、マウス ポインターをアイテムの上に移動してから、リモコンの前面にある - キーを押したままにすると、ロング クリック イベントのみがトリガーされます。それは、OKとそれがどれだけ長く続いたかに関係しているようです.
次の同様の問題を見ました。
onListItemClick および onItemLongClick Google TV
しかし、イベントを処理するときにonItemLongClickがtrueを返しています。