안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요?
리스트뷰에 selector를 써서 아이템을 터치하고 나면 터치했다 떼면 아이템이 반전되어 사용자가 어떤 아이템을 선택하는지 쉽게 알 수 있도록 하려고 합니다. 인터넷에서 여러가지 예제를 찾아서 해봤는데, 다른 걸 해결이 되는데 아이템을 터치 후에 손가락을 떼면 원래대로 돌아가더군요. 이상한 것은 아이템을 터치한 후 바로 떼지 않고 위아래로 살짝 슬라이드 시켜주면 그 때는 배경이 반전되어 보입니다.
리스트뷰의 아이템을 클릭하면 선택된 상태로 하이라이트 되게 하려면 어떻게 해야 하나요?
2012.08.11 09:44:01
저도 님과 비슷한 방법으로 일단 구현은 했습니다.
//Adapter Class
private mSelectedIndex = -1;
public void setSelectedIndex(int index){
mSelectedIndex = index;
}
getView()안에서
if (position == mSeletedIndex) {
//선택된 상태로 만들기
} else {
//선택되지 않은 상태로 만들기
}
Acitivity에서 Adapter.setSelectedIndex(position) 호출
잘 동작하긴 합니다만, selector로는 해결이 안되는 건지....
물론 클릭한 아이템 외의 것들은 다시 디폴트로 돌려야겠죠 Color.TRANSPARENT 인가 이걸 적용하면 투명하게 원래색으로 돌아갑니다