if(img.getDrawable().getConstantState().equals(getResources().getDrawable(R.mipmap.a).getConstantState()))
{
//是图片a
}else{
//不是
}
但是,当在android 5.0以后(主要是平板的问题,测试小米手机android 6.0此方法仍然适用)再使用此种方式去判断的话,会发现即使当前的img设置的图片为 a,但是两者比较后是不相等的,因为在android 5.0以后这中方式就不行了,需要用以下的方式去比较:
if((img.getDrawable().getCurrent().getConstantState()).equals(ContextCompat.getDrawable(this,R.mipmap.a).getConstantState()))
{
//是图片a
} else {
//不是
}
可以发现,android 5.0 以后获取drawable的方式应该改为:ContextCompat.getDrawable(this,R.mipmap.a)。
2.ContextCompat.getDrawable(this,R.mipmap.a)在平板上适配,特别要注意这个this,这个this使用getApplicationContext(),getApplication(),getActivity()很大问题可能不使用,最好能直接this或用activity.this。