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;
}

GridView に画像を設定する ImageAdapter のコードを次に示します。また、要素の位置が配列内の値 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 に答える