Android: Comment comparer des ressources d'une image avec R. drawable.imagename?
Je suis en train de travailler sur un exemple d'application dans laquelle j'ai besoin d'accéder à la ressource d'une image vue dans un onClick écouteur et les comparer avec la source de l'image que je sais qu'il existe. Si les ressources sont les mêmes, je veux lancer une autre intention. Le problème, je suis confronté à droite est désormais de l'accès que ImageView (et donc de ses ressources Id integer) à comparer à la drawable ressource.
@Override
//should int be final ??
public View getView(final 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);
} else {
imageView = (ImageView) convertView;
}
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//This is not working and I need to find a way to solve this >>
if (((ImageView)v).getResources().getInteger(0) == R.drawable.imageToCompare)
{
//do nothing
}
else
{
//do something
}
OriginalL'auteur rizalp1 | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas obtenir un drawable id à partir d'un
ImageView
. Mais si vous le réglez à partir de code, vous pouvez également les stocker quelque part, par exemple dans le champ du tag. Jetez un oeil à la même question: Qui je compare une Image d'arrière-plan des ressources TextView avec un R. drawable.bg_image pour switch.Si c'est à propos
GridView
, vous devez utiliserGridView.setOnItemClickListener()
. Voici le tutoriel: developer.android.com/resources/tutorials/views/....OriginalL'auteur Michael
OriginalL'auteur swat
La bonne façon est d'utilisateur
setTag()
etgetTag
. Je suppose que vous faites de votre propre adaptateur.Dans la méthode
public View getView(int position, View convertView, ViewGroup parent)
, vous définissez la balise àImageview
lorsque vous ajoutez d'autres propriétés.Puis dans le
onClick
vous suffit de comparerView v
avec votredrawable
id. Pour exemple, j'ai voulu changer l'image sur cliquez et j'ai codé de cette façon. Prendre avis comment j'ai aussi changer la balise lorsque j'ai mis un nouveau drawableOriginalL'auteur sandalone