有没有办法找出我的ImageView是否在Android中显示某个资源?

时间:2012-11-28 00:08:31

标签: java android android-imageview android-image

我有一个在我的XML布局代码中设置为cam.jpg的ImageView:

            <ImageView
            android:id="@+id/imvCover"
            android:layout_width="130dp"
            android:layout_height="180dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="15dp"
            android:layout_marginRight="15dp"
            android:scaleType="fitCenter"
            android:src="@drawable/cam"
             />

在我的Java代码中,有没有办法找出我的imvCover当前是否显示@drawable/cam或其他内容?像这样:

if (imvCover.displayedImageResource == R.id.cam)
   // do something
else
   // do something else

感谢。

1 个答案:

答案 0 :(得分:4)

尝试使用setTag()getTag()这样的方法:

将可绘制资源设置为imageView时,请执行以下操作:

img.setBackgroundResource(R.id.img1);
img.setTag(R.id.img1);

并找出哪个drawable设置为imageview,只需获取标签并测试它:

if(((int)img.getTag() ) == R.id.img1) {
   //do stuff1 here 
}
if(((int)img.getTag() ) == R.id.img2) {
   //do stuff2 here 
}