마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

그리드뷰 와 viewholder사용시 화면 깨짐

0 추천

그리드뷰를 이용했습니다.

textview가 2열 로 생성되고 스크롤이 됩니다.

그런데 viewholder를 사용하자 스크롤시 화면이 깨집니다.

 

public View getView(int i, View view, ViewGroup viewGroup) {
            final ViewHolder viewHolder;

            if(view == null) {
                view = LayoutInflater.from(getActivity().getBaseContext()).inflate(R.layout.main_quest_add_btn, viewGroup, false);

                viewHolder = new ViewHolder();
                viewHolder.btnMainQuest = (TextView)view.findViewById(R.id.btnMainQuest);

                view.setTag(viewHolder);

            } else {
                viewHolder = (ViewHolder) view.getTag();
            }

            viewHolder.btnMainQuest.setText( items.get(i).getBtn_title() );

            return view;
        }

        public class ViewHolder {
            public TextView btnMainQuest;
        }

 

혹시 뭐가 문제일까요 ㅠ..

사란 (810 포인트) 님이 2021년 5월 16일 질문
코드는 문제없어 보이는데, 레이아웃도 함께 올리시는게 좋을 것 같아요.

1개의 답변

0 추천
 
채택된 답변
VIewHolder를 사용하는 Adapter에서

 

    @Override
    public int getItemViewType(int position) {
        return position;
    }

 

선언하셔야 합니다.
마롱케익 (480 포인트) 님이 2021년 5월 18일 답변
사란님이 2021년 5월 25일 채택됨
...