getCount() 에서는 6으로 나오는데 position 을 찍어보면
0
0
0
0
0
이렇게 나옵니다. ㅠㅠ
6개의 리스트가 나와야 하는데 첫번 row 밖에 ;;;;
이런적은 첨이라 머가 잘못됐는지 눈에 안보이네요..
아래는 해당 소스입니다. 똑바로 쓴게 맞는거 같은데 한번 검토해주시길 부탁드립니다.
public class PlanBaseAdapter extends BaseAdapter {
private Context mContext;
private ArrayList<PlanListData> arrData;
private LayoutInflater inflater;
private int resId;
public PlanBaseAdapter(Context context, int resId, ArrayList<PlanListData> arrData){
this.mContext = context;
this.arrData = arrData;
this.resId = resId;
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return arrData.size();
}
@Override
public Object getItem(int position) {
return null; // return arrData.get(position); 로 리턴해도 0으로 나옵니다 ㅠ
}
@Override
public long getItemId(int position) {
return 0; // return position; 로 리턴해도 0으로 나옵니다.
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.v("aaa", "position : "+position);
ViewHolder viewHolder = new ViewHolder();
// 캐시된 뷰가 없을 경우 새로 생성하고 뷰홀더를 생성한다
if(convertView == null)
{
convertView = inflater.inflate(resId, null);
viewHolder.tv_contents = (TextView) convertView.findViewById(R.id.tv_item_contents);
convertView.setTag(viewHolder);
}
// 캐시된 뷰가 있을 경우 저장된 뷰홀더를 사용한다
else
{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.tv_contents.setText(arrData.get(position).iName);
return convertView;
}
/* ViewHolder
* getView의 속도 향상을 위해 쓴다.
* 한번의 findViewByID 로 재사용 하기 위해 viewHolder를 사용 한다.
*/
class ViewHolder{
public TextView tv_contents;
}
}