2013-03-02 6 views
0

La meilleure façon de décrire ceci est la suivante. J'ai une galerie d'affiches qui a un tas d'images. L'affiche sélectionnée est mise en évidence lorsque l'utilisateur se déplace dans la galerie. Je le code suivant situé sur la galerie d'affiche:ItemClickListener démarre alors que ItemLongClickListener se produit

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()); 

Ce qui semble se produire est si vous appuyez sur la télécommande sur la co-star de Vizio, à la fois le clic et les événements clic long sont tirés si vous maintenez le bouton OK . Comme dans mon cas une boîte de dialogue apparaît quand un clic long est reçu, mais aussi l'affiche lance la vidéo liée à celle qui commence à jouer qui fait partie du code ItemClickListener.

Lors du test du même code sur un Nexus 7 tablette, seul le clic long est déclenché, pas les deux. Existe-t-il un moyen de gérer correctement le clic long sur Google TV? J'utilise un vizio costar avec Google TV 3 si cela peut vous aider. De plus, si vous déplacez le pointeur de la souris sur l'élément, puis maintenez la touche - enfoncée à l'avant de la télécommande, seul l'événement de clic long est déclenché. Il semble juste être lié à l'OK et combien de temps cela a duré.

Je regardais la question similaire suivante:

onListItemClick and onItemLongClick Google TV

mais j'ai déjà le onItemLongClick retour vrai quand il gère l'événement.

Répondre

1

Il y a une anomalie avec les télécommandes Vizio. Le bouton OK n'est pas associé au bon code clé. La télécommande Vizio envoie KEYCODE_ENTER quand OK est pressé alors qu'en réalité il devrait envoyer KEYCODE_DPAD_CENTER. C'est ce qui cause votre problème je pense. Si vous essayez d'utiliser AbleRemote comme périphérique d'entrée, vous devriez pouvoir le voir fonctionner comme prévu. Maintenant, pour résoudre votre problème, vous devrez peut-être aller à un auditeur de code clé si un clavier est présent et détecter les événements clés sur le posterGallery pour déclencher des clics courts et longs.

+0

Très bien, merci. On dirait un peu mais de la manipulation de l'appareil personnalisé peut être nécessaire alors. – kingargyle

+0

Cette même bizarrerie, semble se produire avec les télécommandes Sony, et beaucoup d'autres télécommandes Android pour d'autres appareils Android Smart TV. Si vous cliquez longtemps avec le pavé tactile sur la télécommande Sony, cela fonctionne comme prévu, si vous appuyez longuement sur le bouton central dpad, vous obtenez les événements itemLongClick et itemClick qui sont déclenchés. Cela semble donc être un problème plus fondamental que le simple fait d'être spécifique à un appareil. – kingargyle

Questions connexes