안드로이드 개발 질문/답변
(글 수 45,052)
리스트뷰를 커스터마이징하고 왼쪽에 별표 모양으로 즐겨찾기 버튼을 추가해주었습니다.
그리고 대략 getView의 favImg.setOnClickListener의 onClick 리스너에
if(데이터가 즐겨찾기 DB에 들어있으면){
mDm.delete(object.get(position).getUnivCode());
}else{
mDm.insert(object.get(position).getUnivCode());
}
대략 아주 간단하게는 요런식입니다.
여기서 favImg의 이미지가 on상태와 off상태를 구분해 줘야하는데..
누르는 순간 이미지가 변화되고 화면은 움직이지 않게 하고 싶습니다.
if(데이터가 즐겨찾기 DB에 들어있으면){
mDm.delete(object.get(position).getUnivCode());
favImg.setImageResource(R.drawable.fav_off);
}else{
mDm.insert(object.get(position).getUnivCode());
favImg.setImageResource(R.drawable.fav_on);
}
이와 같은 방식으로 하면 당연히 안됩니다. 왜냐면 favImg가 자신의 위치가 어디인지 모르니 무조건 현재 나와있는 화면의 가장 아래의 이미지를 변화시켜 버립니다.
이걸 어떻게 해결해야할까요?
favImg가 리스트뷰의 현재 position에 있는 favImg를 변경해라!!라는 것을 파악해야할 듯 한데 어찌해야할지 모르겠습니다.




자답 :
onClick의 view를 다시 favImg에 매치?할당? 해주면 되네요. ㅎㅎ