BaseAdapter을 이용하여
GridView를 사용할 때 중복돼서
나타나는 문제가 발생한다.
많이 유명한 문제라고 하는데
아래와 같은 방법으로 해결할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | public class PokeDexAdapter extends BaseAdapter { ... @Override public int getCount() { return pokeObjects.size(); } @Override public Object getItem(int position) { return pokeObjects.get(position); } @Override public long getItemId(int position) { return position; } @Override public void notifyDataSetChanged() { super.notifyDataSetChanged(); } @Override public View getView(final int position, View convertView, final ViewGroup parent) { if(convertView == null) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.pokedex_grid, parent, false); } //아이템 추가시 convertView가 null이 아닐때에도 아이템을 추가하도록 만든다. TextView test1 = (TextView)convertView.findViewById(R.id.test1); TextView test2 = (TextView)convertView.findViewById(R.id.test2); TextView test3 = (TextView)convertView.findViewById(R.id.test3); TextView test4 = (TextView)convertView.findViewById(R.id.test4); TextView test5 = (TextView)convertView.findViewById(R.id.test5); TextView test6 = (TextView)convertView.findViewById(R.id.test6); ImageView test00 = (ImageView)convertView.findViewById(R.id.test00); ... return convertView; } } | cs |
null이 아닐 때에도 View를 생성하면
아주 미세하게 끊기는 느낌이 든다.
'Android 기법 > # Study' 카테고리의 다른 글
[Android/안드로이드]이미지 한글 문자 인식[tesseract-ocr] (8) | 2017.02.13 |
---|---|
[Android/안드로이드]com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 오류 (0) | 2017.02.12 |
[Android/안드로이드]CustomProgress Dialog 만들기[피카츄 Progress] (0) | 2017.02.09 |
[Android/안드로이드]Jsoup을 이용하여 WebView 로그인 쿠키 이용하기[Login/Cookie] (1) | 2017.02.03 |
[Android/안드로이드]PopupWindow 쉽게 사용하기[GitHub] (1) | 2017.02.02 |
댓글