判断ImageView当前的图片是哪个图片,然后根据当前图片来做一些操作

在安卓项目中实现收藏功能遇到挑战,本文提供一种思路:通过判断ImageView当前显示的是否为未收藏图片,据此切换图片以实现收藏状态的改变。代码块包括判断逻辑和在不同Android版本下获取图片信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在项目中遇到了收藏功能,一开始按照我在iOS中的实现方法,但是在安卓中实现起来太过麻烦,因为我是安卓菜鸟,所以才会很难实现吧,各位大神勿喷,我就想到了下面这个方法,通过判断当前ImageView设置的图片是不是未收藏的图片,如果是的,设置成收藏图片,如果是收藏图片,就设置成未收藏图片,来判断当前的图片,来实现收藏效果,下面附上判断代码块。

if (collection.getDrawable().getCurrent().getConstantState().equals(ContextCompat.getDrawable(getContext(),R.drawable.weicollect).getConstantState())) {

                     collection.setImageResource(R.drawable.yicollect);

                    } else {
                        collection.setImageResource(R.drawable.weicollect);
                    }

关于上面的代码块,来解释一下,判断当前是不是未收藏图片,如果是,就设置成已收藏,如果是已收藏,就设置成未收藏。
还有一段代码块需要解释一下,之前在网上百度到 Android getDrawable来获取到图片信息吧,但是有的说过了5.0以后就不起作用,所以自己百度了下,搜索到了

ContextCompat.getDrawable(getContext(),R.drawable.weicollect).getConstantState()

这个方法来代替,好用,也是谷歌推荐的,通过上面那样的判断就实现了收藏功能,本人太菜,大神勿喷。
强调一下,上面的判断方法不止在ImageView有效,其他View也是可以的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值