0
getView를 재정의하는 아래 코드가 있습니다. 원하는 것은 항상 첫 번째 행에 일부 사용자 정의보기가 표시되어야하고이 아래의 항목 셀에는 일반 셀이 표시됩니다. 내 코드는 아무런 오류없이 잘 작동하지만 첫 번째 셀을 스크롤 할 때 스크롤을 거꾸로 계속 사용하면 반복됩니다. 아래 코드를 참조하십시오. 아무도 답변을 찾을 수없는 경우 큰 도움이됩니다. 감사합니다스크롤 할 때 목록보기 사용자 정의 문제
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
int type = getItemViewType(position);
holder = new ViewHolder();
System.out.println("getView " + position + " " + convertView + " type = " + type);
if (convertView == null && position !=0) {
System.out.println("inside if " + position);
//holder = new ViewHolder();
switch (type) {
case TYPE_ITEM:
convertView = mInflater.inflate(R.layout.item1, null);
holder.textView = (TextView)convertView.findViewById(R.id.text);
holder.textView.setText(mData.get(position));
break;
case TYPE_SEPARATOR:
convertView = mInflater.inflate(R.layout.item2, null);
holder.textView = (TextView)convertView.findViewById(R.id.textSeparator);
holder.textView.setText(mData.get(position));
break;
}
convertView.setTag(holder);
}else if(position == 0){
System.out.println("inside else if " + position);
convertView = mInflater.inflate(R.layout.header, null);
holder.textView = (TextView)convertView.findViewById(R.id.text);
}else {
System.out.println("inside else " + position);
holder = (ViewHolder)convertView.getTag();
try{
holder.textView.setText(mData.get(position));
}catch(Exception ex){
System.out.println("caught exception is "+ ex.getMessage());
}
}
return convertView;
}
http://stackoverflow.com/questions/6982989/android-listview-scrollig-too-slow/6983209#6983209를 참조 할 수 있습니다. – Shash316