Créer une image cliquable dans un GridView dans Android
J'ai des images affichées dans un contrôle GridView comme dans ce tutoriel. Je veux être en mesure de cliquer sur une image unique et d'autres événements et j'ai besoin de savoir quelle est l'image qui a été cliqué.
Dois-je ajouter imageView.onKeyDown(keyCode, événement) dans le ImageAdapter classe? Voici le code tel qu'il existe actuellement:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
//if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
//does this need imageView.onKeyDown(keyCode, event)?
}
else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
Comment peut-elle indiquer quelle est l'image qui a été cliqué? Comment puis-je créer le bon gestionnaire?
source d'informationauteur Tai Squared | 2009-04-10
Vous devez vous connecter pour publier un commentaire.
Pour un GridView vous pouvez utiliser le setOnItemClickListener méthode pour avoir un OnItemClickListener auditeur. Que l'auditeur va vous donner une méthode que vous devez le remplacer avec la signature
où vous obtenez la position de l'élément dans la grille qui a été cliqué et la Vue qui est à l'intérieur de la cellule de la grille. Est-ce que vous avez besoin?
J'ai été en mesure d'obtenir la position de l'cliqué image en faisant de la position finale et l'ajout d'un onClick auditeur de l'imageView. Il enregistre la position de l'image qui a été cliqué.
j'ai essayé la méthode ci-dessus getView(final int position . . .)
rendu compte que la position "reset" après 28 articles et la position lors de l'arrière à 0 après la 28e élément dans le contrôle gridview.
je soupçonne le mot-clé final est la création problème et après l'avoir supprimé, j'ai été en mesure d'obtenir les positions comme prévu.
Ci-dessous est un exemple de code avec l'événement click d'être appelé à l'activité qui est en vedette le contrôle gridview.
}