
// 일반적으로 책에서는 getView()에서 항목 뷰를 직접 inflate()해서 ViewHolder를 사용하고 있더라구요.
저는 항복 뷰를 위한 별도의 클래스를 만들고, getView에서는 이 클래스를 이용하고 있는데요.
이런 경우는 ViewHolder를 어떻게 적용해서 하는지 며칠째 해결하지 못하고 있습니다..
도와주시면 감사하겠습니다~~
public class MyAdapter extends BaseAdapter {
private Context mContext;
private ArrayList<SingleItemData> mItems = new ArrayList<SingleItemData>();
public MyAdapter(Context context) { mContext = context; }
public void addItem(SingleItemData item) { mItems.add(item); }
--생략--
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder; // 현재 이 예제에서는 선언만 하고 이용을 못하고 있어요 ㅠㅠ
SingleItemView singleItemView; // 이 클래스에서 inflater.inflate(R.layout.singleitemlayout, this, true); 했음.
if (convertView == null) {
singleItemView = new SingleItemView(mContext, mItems.get(position));
}else {
singleItemView = (SingleItemView)convertView;
singleItemView.setIcon(mItems.get(position).getIcon());
singleItemView.setText(0, mItems.get(position).getData(0));
singleItemView.setText(1, mItems.get(position).getData(1));
}
return singleItemView;
}
private class ViewHolder{
ImageView imgV;
TextView txtGoods;
TextView txtPrice;
}
}