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

리스트뷰 구현시 색상을 클릭한 후에 스크롤뷰로 위아래로 왔다갔다하면 색상이 원래대로 돌아옵니다.

0 추천

현재 리스트뷰 구현 중인데

클릭시 색상 변하는 것은 구현 하였는데

이 뷰를 스크롤 뷰를 통해서 아래로 갔다가 오면

다시 원래 색상으로 돌아옵니다...ㅜ

색상을 고정되게 어떻게 해야 할까요...

아래 코드로 getView 부분을 구현하였는데

convertView를 재사용 안하면 색상이 유지될까해서 수정할려고 하는데 잘 안되네요ㅜ

어떻게 바꿔야 할지 조언 좀 부탁 드릴게요...

public View getView(int position, View convertView, ViewGroup parent) {
    IconTextView itemView;
    
    if (convertView == null) {
        System.out.println("새로운 뷰 호출" + position + getCount());
        itemView = new IconTextView(mContext, mItems.get(position));
    } else {
        System.out.println("기존에 있는 View 재사용" + position + getCount());
        itemView = (IconTextView)convertView;
        itemView.setIcon(mItems.get(position).getIcon());
        itemView.setText(0, mItems.get(position).getData(0));
        itemView.setText(1, mItems.get(position).getData(1));
        itemView.setText(2, mItems.get(position).getData(2));

    }

    return itemView;
}
크허허허 (580 포인트) 님이 2016년 11월 8일 질문

1개의 답변

0 추천
 
채택된 답변
클릭한 position을 따로 기억하도록 해야합니다.

클릭했던 position을 따로 기억하고 있다가 getView함수의 position값으로 색을 변경하도록 해야합니다.
Development Guy (70,570 포인트) 님이 2016년 11월 8일 답변
크허허허님이 2016년 11월 24일 채택됨
이제야 채택을 했네요ㅎㅎ 많은 도움이 되었습니다~
...