Android GridView Cliquez Sur Le Bouton Gestionnaire De
J'ai un Android GridView
avec un ImageView
, TextView
et deux Button's
. La Grille apparaît bien, mais je trouve qu'il est difficile de gérer des événements de bouton dans GridView
. Je suis nouveau sur Android.
Toute aide serait appréciée.
Grâce.
vous obtiendrez des réponses de bien meilleure qualité si vous postez votre code pour accompagner cette.
OriginalL'auteur user1404963 | 2012-11-04
Vous devez vous connecter pour publier un commentaire.
Si vous voulez que les Boutons (et rien d'autre) d'avoir unique, cliquez sur actions dans votre mise en page, vous devez écrire un adaptateur personnalisé et remplacer
getView()
:Ce concept a été expliqué assez bien dans les divers Google discours au fil des années, voici un.
Plus
Vous devriez être en mesure d'accéder à une Vue de la mise en page dans un
onClick()
méthode en demandant le point de Vue du parent et de l'ViewHolder:(Ce qui suppose que votre mise en page ne dispose pas de toutes les ViewGroups, afin d'ajuster en conséquence.)
J'ai ajouté un exemple de référence de toute autre disposition de la ViewHolder d'un enfant. Laissez-moi savoir si cela aide.
Merci Sam. Qui m'a vraiment aidé! Mon GridView est OnItemClick événement n'est pas à la cuisson. Est-ce à cause des boutons à l'intérieur de la GridView?
Oui. Un OnClickListener dans un point de Vue consomme de l'événement, les empêche d'atteindre toutes les autres Vues... Si vous voulez l'appeler à la fois vous pouvez ajouter
mGridView.performClick()
de votre bouton de laonClick()
(évidemmentmGridView
est une variable de classe qui fait référence à votre GridView).Les avantages d'un ViewHolder objet documenté ici: developer.android.com/training/improving-layouts/...
OriginalL'auteur Sam
La mise OnClick auditeur à l'intérieur de l'adaptateur et d'écouter le même clic, comme expliqué dans la blog suivant
à l'intérieur de l'adaptateur
DANS le fichier java.
Remarque:si vous utilisez plus d'un élément, cliquez sur l'écoute, l'utilisation de l'interrupteur cas à vérifier quel est l'élément cliqué à l'intérieur de SetOnItemClickListener.Parce que l'Utilisation de if else déclenche toutes écouteur de clics que vous avez dans votre carte. si une bonne solution pour cela est-il laissez-moi savoir. Merci.
OriginalL'auteur HourGlass
Vous devez utiliser onItemClickListener
Position doit vous parler de l'élément cliqué.
Mais je pense que gridview ont des problèmes de manipuler des objets avec clicklisteners (comme des boutons). Peut-être aurait mieux les changements gridview pour un autre récipient. Si vous avez besoin gridview vous pouvez utiliser setOnTouchListener pour la capture de la position de l'écran et de créer un manuel onitemclicklistener.
OriginalL'auteur k0nig