判断ImageView当前的图片是哪个图片,然后比对资源文件

描述一下需求:我们在点击一个ImageView的时候进行,切换背景,或者是资源文件的时候,我们需要根据拿到的背景进行比对,(试了好几种方法,总是出现一些小毛病)
例如:**网上的某某人写的这种:**

if (image1.getDrawable().getCurrent().getConstantState().equals(getResources().getDrawable(R.drawable.A).getConstantState())){

              //当image1的src为R.drawable.A时,设置image1的src为R.drawable.B

              image1.setImageResource(R.drawable.B);

}else{

              //否则设置image1的src为R.drawable.A

              image1.setImageResource(R.drawable.A);

}

显然在5.0的设备上一点毛用都没有。

比起比对资源文件,其实有一种更好的方法可以使用:设置相应的View的Tag,我们根据Tag的值去处理业务逻辑,笔记比较资源文件简单的多!简单贴一下代码:

    <ImageView
                android:id="@+id/iv_al_remember_psw"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:tag="select"
                android:src="@drawable/select_rember_psw" />
if (ivAlRememberPsw.getTag().equals("select")) {
        TLog.d("没有选择");
        isRemeberPsw = false;
        ivAlRememberPsw.setTag("unSelect");
        ivAlRememberPsw.setImageResource(R.drawable.remeber_psw);

} else {
        TLog.d("进行记住");
        isRemeberPsw = true;
        ivAlRememberPsw.setTag("select");
        ivAlRememberPsw.setImageResource(R.drawable.select_rember_psw);
}
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值