2011-02-09 7 views
0

J'ai créé un ListView personnalisé avec des lignes personnalisées. Ils fonctionnent très bien lorsque vous utilisez l'écran tactile; Cependant, lorsque je tente de cliquer sur les éléments de la rangée avec le clavier D-Pad, rien ne se passe. Je veux dire par là que mon OnClickListener n'est pas appelé. Est-ce que quelqu'un sait de bonnes références ou des tutoriels sur la façon d'ajouter la prise en charge du clavier pour les nouvelles lignes personnalisées dans un ListView?Android ListView et le clavier

+0

lignes personnalisées fonctionne essentiellement avec D-Pad –

Répondre

1

Utilisation setOnItemClickListener au lieu de setOnClickListener

Modifier
Utilisez un attribut comme sur votre élément de la liste

android:focusable="false" 
+0

Hmm je qui a enregistré aussi bien et ne fonctionne pas. Je pense que puisque ma ligne a une case à cocher, le onItemClickListener ne sera jamais exécuté. Dois-je peut-être définir mon CheckBox comme non focalisable ou non cliquable? –

+0

Modifié la réponse. –

+0

D'accord, ça m'a fait aller dans la bonne direction. Quand j'ai mis android: focusable = "false" alors mon onItemClickListener a été exécuté sur les clics de l'article. À ce stade, j'effectue un view.performClick() dans mon onItemClickListener qui donnera au gestionnaire On Click une chance de s'exécuter s'il existe. Cela permet à mon gestionnaire de lignes d'être exécuté comme je l'avais initialement prévu. –