|
커스텀 리스트뷰를 만들어 적용 후 데이터를 넣고 스크롤을 했더니 아이템 위치가 변경되는 현상이 발견.
생성한 Adapter의 getView에 홀더를 추가하여 데이터 변형을 방지 하였다.
@Override public View getView(int position, View convertView, ViewGroup parent) { final int pos = position; CustomViewHolder holder; if ( convertView == null ) { .. 생략 final TextView textview = (TextView)convertView.findViewById(R.id.custom_word_text); textview.setText( m_List.get(pos).getWord() ); ImageButton btn = (ImageButton) convertView.findViewById(R.id.custom_word_listen); holder = new CustomViewHolder(); holder.m_TextView = textview; holder.m_ImgBtn = btn; convertView.setTag(holder); } else { holder = (CustomViewHolder) convertView.getTag(); } if ( m_List.get(pos).isVisibleWord() ) { holder.m_TextView.setText(m_List.get(pos).getWord()); } else holder.m_TextView.setText(m_List.get(pos).getMeaning()); return convertView; } public class CustomViewHolder { public TextView m_TextView; public ImageButton m_ImgBtn; }
|
'Android > Etc.' 카테고리의 다른 글
BaseAdapter 커스텀 사용 시 터치가 안되는 문제 (0) | 2014.01.22 |
---|---|
Jni를 사용하여 Asset 접근하기 (0) | 2014.01.08 |
NDK 개발 시 C, C++ 함수 호출 차이점 (0) | 2013.08.10 |
NDK 개발 시 디버깅하기 (0) | 2013.05.31 |
note: the mangling of 'va_list' has changed in GCC 4.4 (0) | 2013.03.20 |