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

리스트 뷰의 prformItemClick 과 listSelector

0 추천
리스트 뷰의 아이템을

선택하면

xml 에서 listSelector 색을 설정해놓았다면 아이템 background색상이 변경 되는데요

손으로 터치하는 아이템으로 옴겨가면서 이전에 클릭했던 색상은 초기화 됩니다.

 

그런데 마지막 아이템을 클릭하고

listview item을 remove 해주는 소스를 만들었는데

여기서 삭제 버튼을 계속 누르면item position -1의 위치를

listview의 performItemClick 을 이용하여 변경해줍니다

그런데 performItemClick 만으로는 아이템이 선택된 position만 바뀌지 background 색상을 변경이 안되더군요

그래서 listview의 getChilAt(position).setBackground(색상);을 이용해서 position 이동때마다 background 색상까지 변경 하였습니다.

그런데 마지막 item을 삭제하면 item은 삭제 되나 background 색상이 그대로 남아 있는 현상이 발생합니다

item을 지웠을때 이 색상이 남아있습니다 remove 이전에 background 색상을 먼저 변경 해도

같은 함수내에 있는한 마찬가지 입니다...

 

마지막 item이 아니면 정상적으로 background 색상이 적용되나

마지막 색상만 항상 남아있습니다

 

왜 이런일이 발생하는지 모르겠습니다. 해결방법이 없을까요
xcode (460 포인트) 님이 2017년 2월 9일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...