0

美好的一天,我的 GridView 有问题。

 public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;


    if (convertView == null) {  // if it's not recycled, initialize some attributes
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(8, 8, 8, 8);
    } else {
        imageView = (ImageView) convertView;
    }


    imageView.setImageResource(mThumbIds[position]);
    if(LevelActivity.comp[position] == 1)
    { 
        imageView.setBackgroundResource(R.drawable.back_got);
        Bitmap btm;
        BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
        btm = drawable.getBitmap();
        btm = convertColorIntoBlackAndWhiteImage(btm);
    imageView.setImageBitmap(btm); 
    }

    return imageView;
}

这是我的 ImageAdapter 的代码,它在 GridView 中设置图像。如果元素的位置与值为 1 的数组中的位置相同,它将设置具有特殊背景的黑白图像而不是普通图像。一切正常,但是:当我滚动我的 GridView 时,那个特殊的黑白图像开始将它们的背景“共享”到它们右侧的图像。因此,滚动后,我会在每个特殊的黑白元素旁边获得具有特殊背景的普通图像。

希望你有想法,谢谢。

有问题的图片:http: //i.stack.imgur.com/Hbtwg.png

4

1 回答 1

0

好的,我有答案了。它非常类似于 random-items-in-GridView 问题。所以我需要做的就是直接在画布上设置背景位图(在 b&w 函数内)。

于 2012-05-22T09:23:58.590 回答