我有一個customArrayAdapter在我的gridview中顯示我的照片。一切都很順利,當我打開活動,但當我向下滾動和備份時,它顯示了一些項目的triangleRed,而pictureCorrect爲1(爲了確保我在DDMS中檢查了我的數據庫)。它似乎總是發生在相同的項目...這是我的自定義適配器的一塊:我customarayadapter似乎通過錯誤var
if (mView == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
mView = vi.inflate(R.layout.caa_xml, null);
}
ImageView image = (ImageView) mView.findViewById(R.id.iv_caarow);
ImageView triangle = (ImageView) mView.findViewById(R.id.iv_triangle);
image.setAlpha(255);
triangle.setVisibility(View.INVISIBLE);
//… some additional code to define resizedBitmap
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
image.setImageDrawable(bmd);
if (mView != null) {
Picture pictureGiven = null;
loadDataBase();
pictureGiven = myDbHelper.getPictureGiven(getItem(position).getId(),
player);
int attempts = pictureGiven.getAttempts();
int correctPicture = pictureGiven.getPictureCorrect(); //returns 0 or 1
triangle.setVisibility(View.INVISIBLE);
if (correctPicture == 1) {
triangle.setVisibility(View.VISIBLE);
}
if (correctPicture != 1 && attempts > 0) {
triangle.setVisibility(View.VISIBLE);
triangle.setImageResource(R.drawable.trianglered);
}
}
return mView;
}
任何想法可能會導致這種情況?
我曾經歷過同樣的事情,但沒有找到一個好的靈魂。這感覺就像在列表視圖中的一個小錯誤,關於通過處理圖像引入的滯後。 – dmaij