@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = convertView;
Object Holder = getHolder(DetailLayoutID);
if (view == null) {
final LayoutInflater vi = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(DetailLayoutID, null);
InitHolder(DetailLayoutID, view, Holder, position);
view.setTag(Holder);
} else {
Holder = view.getTag();
}
SetHolder(DetailLayoutID, Holder, position);
return view;
}
리스트뷰를 커스터마이징 하여 사용하려 위와 같이 각종 TextView나 LinearLayout, CheckBox 등등을 넣어놨구요.(CheckBox는 때에따라 visible 되기도, gone 되기도 합니다. 각 컨트롤별 ID는 일단 삭제 해봤어요..ㅠ)
getView 함수의 InitHolder 함수는 해당 홀더를 초기화 해주는 함수구요(findviewbyid)
SetHolder는 Item을 직접 넣어주는 역할을 합니다.
문제는 리스트뷰의 스크롤이 움직이는 속도가 완전 버벅거린다는 점입니다.
이를 해결 하기 위해 구글에 찾아보니 주로 AsyncTask를 이용하여 해결 하라고 해서 SetHolder를 AsynTask를 사용하여 해봤는데 여전히 느린것 같습니다.
그래서 드는 생각이 혹시 레이아웃에 문제가 있는 것이 아닐까 생각이 됩니다.. 좀 스무쓰 하게 움직이게 할 수 있는 방법이 없을까요????