用ImageView用getDrawable()得到的Drawable
和
getBaseContext().getResources().getDrawable()取得的图片不一致?
例如对于drawable:R.drawable.l,先设置为ImageView iv.setImageResource(R.drawable.l);
然后用iv.getDrawable()
和
getBaseContext().getResources().getDrawable(R.drawable.l)
取得drawable不相等?
用==和equals都不相等,是怎么回事?
和
getBaseContext().getResources().getDrawable()取得的图片不一致?
例如对于drawable:R.drawable.l,先设置为ImageView iv.setImageResource(R.drawable.l);
然后用iv.getDrawable()
和
getBaseContext().getResources().getDrawable(R.drawable.l)
取得drawable不相等?
用==和equals都不相等,是怎么回事?
两个drawable对象。
可能共享同一张png图片,但两个drawable应该还是两个对象。
你调用了getDrawable(R.drawable.l)两次,将会获得俩个不同的对象,因为这样会获取俩个新的ImageDrawable().
你可以使用Drawable.getConstantState()来比较它们,当然有时候也会报错的。
类似于:
ConstantState icon = mContext.getResources().getDrawable(R.drawable._smsmms).getConstantState();
ConstantState icon2 = imageView.getBackGround().getConstantState();