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

viewpager에서 db가져올때 질문입니다.

0 추천
viewpager를 사용하고 있고 db에서 데이터를 가져오는데...

instantiateItem()에서 각 페이지별로 db를 호출하는데..(db는 thread를 돌리고 있습니다.)

3페이지씩 들고 오니깐.. 데이터를 가져오는 시간이 늘려서 화면에 뿌리지를 못하네요.

db에서 데이터를 들고오는 동안 벌써 화면에 나와서 아무것도 안나옵니다.

보통 viewpager에서 db를 호출할때 어떤 방식으로 하나요?

가르쳐주세요....ㅠㅠ
SecretCrow (140 포인트) 님이 2013년 2월 27일 질문

1개의 답변

0 추천

 

fragment를 사용하시는 것 같네요. 

 

어쨌든 viewpager는 setOffScreenPageLimit() 를 통해 세팅된 

페이지 수만큼 불러와서 화면을 뿌려주게 되고, 

-1 -2 0 +1 +2 

이렇게 있다고 하면 +쪽 페이지를 먼저 로드하고 0를 로드한뒤 -페이즈를 로드하게 됩니다. 

이것은 viewpager의 기본적인 로직이므로 viewpager의 소스를 수정하시거나 

 

아니면 setOnPageChangeListener 를 통해 

seleted 된 페이지를 로드하는 형식으로 변경하시면 되겠습니다.

 

setOnPageChangeListener 통해 seleted된 페이지를 로드하더라도

onPageScrolled 혹은 onPageScrollStateChanged 를 통해 페이지가 넘어가는 것을 미치 캐치할 수 있습니다.

물론 미리 로드하는 것보단 못하겠지만요

 

 

마플 (3,720 포인트) 님이 2013년 3월 2일 답변
...