커스텀 리스트뷰 (listview) 새로고침(갱신)
커스텀 리스트뷰를 새로고침,그러니까 갱신을 하려고 아래와 같은 방법을 사용했다
Adaptername.clear();
Adaptername.remove(datavo);
listviewname.clearChoices();
Adaptername.notifyDataSetChanged();
Adaptername.notifyDataSetInvalidated();
HelloActivity.this.onRestart();
HelloActivity.this.reset();
listviewname.setAdapter(Adaptername);
결과적으로 어떻게 해야 하냐면
다 안된다
어탭터를
cusorAdapter를 사용하고
notifyDataSetChanged() 대신 changeCursor()을 사용해야 한다
API11부터 사용할 수 있다고 한다
결론 : 오늘은 하루종일 삽질을 했다
커서어댑터를 사용하지 않고 해결하는 방법
1.커스텀 리스트 뷰의 아답터에 데이터리스트를 연결하는 부분을 메소드로 만든다
2.리스트 뷰를 갱신해줘야 하는 경우에 해당 메소드를 사용한다
..이렇게 단순하게 해결할 수 있다. 대체 몇시간을 삽질한건지
괜히 notifyDataSetChanged 라는게 있으니까 그걸 사용해보고 싶어서 그랬는데,
커스텀 뷰에는 안되니까 이 글을 보신 분은 위처럼 단순하게 해결하면 된다.
(삭제 구현시에는 해당 리스트 아이템을 remove해주는 방법은 있다)
프로그래머는 단순하게 생각해야 한다는걸 다시 깨달았다.
*리플로 인해 좀 더 간단하게 정리
리스트를 첫 초기화 시키는 부분을 메소드로 만들어
데이터가 들어오면 초기화를 다시 시킴.
'개발자 > Android' 카테고리의 다른 글
Xamarin.Android - 익명 클래스 (0) | 2015.07.07 |
---|---|
Xamarin.Android - Manifests, Button, Dialog (0) | 2015.04.03 |
비트맵과 함께 춤을 (feat.Crop&Rote&Save) (0) | 2015.03.21 |
안드로이드 키보드(키패드)숨기기 / 자마린 버전도 추가 (0) | 2013.08.05 |
커스텀 리스트뷰 (listview) 새로고침(갱신) (2) | 2013.08.01 |
안드로이드 TextView 에 ScrollView없이 스크롤 넣기,스크롤뷰 안에 스크롤 넣기 (0) | 2013.07.30 |
댓글을 달아 주세요
안녕하세요! 질문있습니다... 안드로이드 공부중인 학생인데요,
1.커스텀 리스트 뷰에 아답터에 데이터리스트를 연결하는 부분을 메소드로 만든다
이 부분이 잘 이해가 되지않습니다..
adapter 를 정의할 때 어떠한 조치를 취하라는 말인가요??
독학으로 공부중인데..힘드네요 ㅠㅠ 답변 부탁드립니다!
늦었지만 다른 분이 같은 질문을 할 수 있으니
아래쪽에 두줄 요약 해두었습니다.