커스텀 리스트뷰에 이미지를 넣었습니다. 그런데 3번째 리스트의 이미지가 1번째 리스트에 이미지에도 적용이 됩니다.
생각을 해보니 비트맵을 이용해 작업한 이미지가 다른 포지션에 들어가는것 같네요.
제대로된 위치에 들어가게 할려면 어떻게 해야되는지 궁금합니다.
코드는 요약해서 올린거에요.
private CustomBitCallBack cc;
public View getView(final int position, View convertView, ViewGroup parent) {
Holder H;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.fragment_item, parent, false);
H = new Holder();
convertView.setTag(H);
} else {
H = (Holder) convertView.getTag();
}
cc = new CustomBitCallBack();
aQuery.id(H.thumbnail).image(List.get(position).PictureUri, true, true, 100, 0, cc);
}
public class CustomBitCallBack extends BitmapAjaxCallback {
@SuppressLint("NewApi")
protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) {
AsyncBitmap thread = new AsyncBitmap(mContext, iv, bm);
thread.execute();
}
}
class AsyncBitmap extends AsyncTask<Void, Void, Bitmap> {
@Override
protected Bitmap doInBackground(Void... params) {
if (bm != null) {
// 비트맵 작업(라운드 처리)
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
Drawable dr = new BitmapDrawable(cxt.getResources(), result);
iv.setBackground(dr);
super.onPostExecute(result);
}
}