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

그리드뷰 셀 클릭시 배경색깔 변화 (난이도 상)

0 추천
안녕하세요

그리드뷰로 커스텀 캘린더를 만들고 있는데요.

listSelector를 단순히 사용하 notiDataSet나 dialog가 떴다가 사라지면

listSelector들도 사라지더라구요..

 

그래서 셀 클릭시 셀 배경색으로 highlight해주고 다른 셀클릭시 원래대로 돌려놓고

선택된 샐은 바뀌는 걸 코드로 작성하고 싶은데...

방법을 알려주십시오...
2주째 구글링해도 답이 안나옵니다.....ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
안드로이드촙오자 (340 포인트) 님이 2020년 11월 17일 질문

1개의 답변

0 추천
 
채택된 답변
선택된 아이템을 유지하고 싶다면, 어떤 아이템이 선택되었는지 저장하셨다가 리스트가 갱신될 때 다시 그려주셔야 합니다.
제일 심플한 방법은 리스트어댑터 안에 현재 선택된 아이템의 인덱스를 저장하는 변수를 선언하시고 그 변수에 해당하는 아이템만 선택되게 해줍니다. 리스트뷰의 아이템을 선택할 때마다 이 변수에 선택된 아이템의 인덱스를 저장해 놓으셔야 겠죠.

제가 개인적으로는 RecyclerView만 사용하기 때문에 리스트뷰 관련 코드는 보여드릴 수가 없네요. 하지만 RecyclerView던 ListView던 방법은 동일하다고 봅니다. 선택한 아이템의 리스트 인덱스를 저장한 후 리스트를 갱신할 때 선택된 인덱스이면 highlight 시켜주면 됩니다.
spark (224,800 포인트) 님이 2020년 11월 18일 답변
안드로이드촙오자님이 2020년 11월 18일 채택됨
감사합니다!

해주신 답변때문에 해결할 수 있었습니다!
...