커스텀 리스트 뷰가 하나 있습니다.
1개의 리스트에는... 사진, 설명, 상세보기icon,삭제버튼 이렇게 4개가 있습니다.
기본적으로 삭제버튼은 gone으로 설정되어 있기에 보이지 않습니다.
문제는
메뉴 키를 눌러 "편집" 모드로 바꾸면... gone이였던 삭제 버튼을 visible로 바꿨는데...
리스트 전체에 적용되서 바뀌어 보이는게 아니고
버튼이 띄엄 띄엄 보이는게 문제 입니다. 더욱 이상한건....
그 보이는 버튼이 스크롤을 하면 보였다, 안보였다 하는겁니다. ㅠ.ㅠ
이런 문제는 어떻게 해결 해야 할까요??
여러 고수님들의 의견을 기다려 봅니다.
액티비티에 boolean flag를 하나 두시고
어댑터의 getView에서 그 flag 를 참조해서
뷰의 Visiblity 를 변경하시면 됩니다.
간단히 예를 들면,
activity 에는
public boolean visibleFlag = false;
List<String> dataset = ...
Adapter a = new Adapter(context, activity, dataset);
editBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(visibleFlag) visibleFlag = false;
else visibleFlag = true;
setListData(); // 리스트뷰에 데이터를 넣는 함수
}
});
하시고
어댑터의 getView 안에
if((activity클래스명)activity.visibleFlag) delBtn.setVisiblity(View.VISIBLE);
else delBtn.setVisiblity(View.GONE);
만 넣어주시면 끝.
activity는 어댑터의 생성자에서 넘겨받는거고요…
모르시겠으면 다시 댓글주세용 ㅋ




아 ..쓰다가 날라갔네요 -_- 다시 써서 댓글달게요;;