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

listview 에서 삭제할때

0 추천
listview에 DB에서 검색한 값들을 집어넣고

 

그중 하나를 삭제 하였습니다.

 

삭제후 list 가 다시 갱신되는데

데이터양이 많아 지면 갱신이 느려집니다.

 

그래서 쓰레드나 서비스를 돌려서 delete 루틴을 태우고 옵저버로 onChange()가 들어오면 갱신을 하게 했는데도

 

전보단 개선이 되었지만 여전히 느리다는 감이있습니다.

 

주소록과 같은 곳은 리스트를 삭제해도 바로 바로 빨리 갱신이 되는데

 

어떻게 하면 주소록처럼 빨리 갱신을 할수있을까요 ??? ㅠㅠ

 

어떤방법으로 삭제를 하는건지요 ???
now882002 (3,860 포인트) 님이 2015년 2월 25일 질문

4개의 답변

0 추천

갱신할때마다 리스트뷰의 adapter를 새로 선언하나요?

 

어뎁터.notifyDataSetChanged() 로 갱신해 보세요.

이드로이드 (22,930 포인트) 님이 2015년 2월 25일 답변
그것과는 상관이없습니다.
cursor adapter로 구현되어있는데
onchange가 들어와야 갱신이 되도록 되어있습니다.

근데 onchange이벤트가 4초? 정도 후에 들어와서요..
0 추천
데이터양이 많아 지면 갱신이 느려집니다.

=> 뭐 이거야 당연한 문제겠지요..

 

주소록의 갱신이 빠른것은 그 수가 얼마안되기때문일것으로

위의 리스트뷰에 표시할 DB의 갯수는 어느정도인가요?

주소록과 비교할수 없는 상당한 양인가요?

 

그렇다면 DB의 모든 내용을 불러오지말고

화면에 뿌릴만큼만 즉 리스트뷰의 더보기 기능처럼

그때 그때 필요한 만큼만 가져와 뿌려보셔요
nicehee (73,100 포인트) 님이 2015년 2월 25일 답변
아니예요 ㅠ 주수록은 엄청더 많죠 .. ㅠㅠ 구현한것보다 주소록양이 더많은데
주소록은 빨리 갱신이 되서... 무엇이 문제인지 모르겠습니다.
주소록은 어떻게 구현되어있을까요?
0 추천
Loader를 사용해보세요.
익명사용자 님이 2015년 2월 25일 답변
구체적으로 설명부탁드립니다.
어떻게 검색해야 찾기 쉬울까요 ?
0 추천
Cursor 데이터를 listview에 어떻게 표시하나요?

Cursor의 모든 데이터를 뽑아내서 표시하는 식으로 되어있으면 잘못구현하신 겁니다.
익명사용자 님이 2015년 2월 25일 답변
...