【问题标题】:how can i check if an imageview background is a certain image?如何检查 imageview 背景是否是某个图像?
【发布时间】:2012-08-31 07:45:55
【问题描述】:

到目前为止,我正在使用类似的东西

if (image.getDrawable() != thisContext.getResources().getDrawable(R.raw.anImage) ) {
    // do something
}

但它不起作用。

【问题讨论】:

    标签: android imageview


    【解决方案1】:

    基本上,比较两个可绘制对象很痛苦,所以只需将它们转换为位图,然后比较位图(更简单的解决方案),代码如下:

    Bitmap bitmap1 = ((BitmapDrawable)fDraw).getBitmap();
    Bitmap bitmap2 = ((BitmapDrawable)sDraw).getBitmap();
    
    if(bitmap1 == bitmap2)
    {
     do some stuff
    }
    

    【讨论】:

    • 好的,它在 Bitmap bitmap1 = ((BitmapDrawable) image.getDrawable()).getBitmap() 上给了我一个空指针异常;这是在网格视图的 onitemclicklistener 中完成的。在适配器中,我将每个视图设置为具有背景资源,我不确定为什么它会给我一个空指针。
    【解决方案2】:

    尝试先将 Drawable 转换为 Bitmap,然后进行比较:

    Bitmap a = ((BitmapDrawable)d1).getBitmap();
    Bitmap b = ((BitmapDrawable)d2).getBitmap();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      • 2012-02-07
      • 1970-01-01
      • 2012-05-23
      • 2013-10-02
      • 1970-01-01
      相关资源
      最近更新 更多