class ChildSelectDataAdapter extends ArrayAdapter<ChildSelectData> {
Context ctx;
int childSelectResource;
ArrayList<ChildSelectData> cirr;
ImageView imgView;
Bitmap bitmap;
List<Bitmap> bit = new ArrayList<Bitmap>();
public ChildSelectDataAdapter(Context context, int textViewResourceId,
ArrayList<ChildSelectData> objects) {
super(context, textViewResourceId, objects);
ctx = context;
childSelectResource = textViewResourceId;
cirr = objects;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
final ChildSelectData imsi;
imsi = cirr.get(position);
if (v == null) {
v = View.inflate(getContext(), childSelectResource, null);
}
TextView txtN = (TextView) v.findViewById(R.id.childSelectListNameView);
TextView txtC = (TextView) v.findViewById(R.id.childSelectListAgeView);
imgView = (ImageView) v.findViewById(R.id.childSelectListImageView);
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
URL url;
InputStream in = null;
try {
url = new URL("http://URL 경로" + imsi.th_childPicture);
in = url.openStream();
Log.i("imsi", imsi.th_childPicture);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bitmap = BitmapFactory.decodeStream(in);
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
imgView.setImageBitmap(bitmap);
Log.i("bit", bitmap + "");
}
});
}
});
thread1.start();
txtN.setText(imsi.childName);
txtC.setText(imsi.childAge);
return v;
}
}
현재 커스텀 리스트뷰를 통해서 리스트 뷰를 만들고있는데, 썸네일 이미지 부분이라 웹에서 이미지를 URL로 연결시켜
이미지뷰를 통해 띄워주려고 하고 있습니다. 그런데 Thread의 문제인지 자꾸 마지막 이미지만 보이는 현상이 계속되고 있
습니다. 무언가 이유를 알 것 같으나 정확히 개념을 알지 못해 질문드립니다.