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

LIstview 갱신에 관해 질문!

0 추천
흐.. 할건 많은데 뭐하나 시원하게 해결되는게 없네요.ㅠ.ㅠ

이번에 질문 드릴 것은 LISTVIEW 갱신에 관한 질문입니다...!!!

제가 구현 하고자 하는 로직은 DB에서 값이 변경되면

앱을 보고 있는 와중에도 변경된 값으로 갱신되는 형태로 구현하고자 합니다.

현재는 타이머를 5초로 하여 5초마다 갱신을 하고 잇는데요.

DB를 검색하는 로직을 또 붙이거나 액티비티 전체를 다시 불러오는 등 방법을 써보았는데 갱신된 값을 출력이 되나

리스트뷰가 항상 맨 위로 위치하더라구요...ㅠㅠ

그래서 arrayadapter를 하나 만든다음 notifydatasetchanged() 이것도 적용해 보았는데요.

아무런 변화가 없더라구요..

리스트뷰를 지웠다가 다시 notifydatasetchanged()를 불러와도 변경된 값으로 출력도

안되고 역시 리스트뷰가 맨위로 올라간 상태로 출력이 됩니다.

또 어느분이 쓰신 글을 보면 noti...changed()는 리스트뷰 상에서 변경이 일어나야 한다는데 저는 DB에서 변경된 값을

불러오는 형태거든요.. 그래서 안되는건가...

제가 원하는 형태는 DB에서 값이 변경되면 현재 보고 있는 액티비티상에 리스트뷰에서 변경된 값이 적용되어 보이고

적용 될때 리스트뷰의 스크롤이 움직이지 않기를 원합니다..

제 설명이 충분 했는지는 모르겠지만... 어떤것을 써봐라, 어떤것을 공부해봐라. 이정도만 제시해주셔도 감사드리겠습니다.

추신)

cursoradapter도 공부를 좀 해봤는데요.. 이해가 잘안되네요.

제가 이해한바로는 cursoradpater는 DB에서 값을 불러와서 뷰에 바인딩 한다고 들었는데요.

그렇다면 제가 찾는 답과 유사할거 라고 생각이 되는데... 구글에 도는 예제들을 봐도 이해가 잘 안됩니다.

newview, bindview같은 것은 이해가 되는데.. 도대체 쿼리를 어디서, 어떤식으로 날려서

어떻게 받아오는지가 이해가 잘 안됩니다.

꼭 cursor...ter가 아니더라도 다른 방법이 있다면 링크나 설명 부탁드립니다.ㅠ.ㅠ
민트라떼 (370 포인트) 님이 2015년 1월 6일 질문
민트라떼님이 2015년 1월 6일 reshown

1개의 답변

0 추천
CursorLoader로 검색하세요.

원하시는대로 동작합니다.
익명사용자 님이 2015년 1월 6일 답변
으아아아.. CursorAdapter도 그렇고 도대체 Uri가 뭘 의미 하는지를 모르겠습니다. 아마도 database 위치를 말하는것 같기도 한데... 항상 CONTENT_URI 이런식으로 들어가던데.. 제가 이해한바로는 내부 데이터베이스 같은걸까요? 제가 생각하는 DB는 mysql이나 oracle같은 connect되어 불러오는 DB를 생각 했는데 예제마다 따로 외부 DB에 연결 하는 소스도 없고... 이해가 잘 안되네요..ㅠㅠ
...