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

ViewPager에서 POSITION_NOME을 하면 무조건 새로 그리나요?

0 추천
ViewPager를 쓰고있는데

옆에 페이지로 넘어갈때마다 갱신을 위해서

getItemPosition 함수를 써서 POSITION_NONE을 쓰고 싶은데요

이게 제대로 작동한다고 치면

페이지를 넘길때마다 그 Fragment의  onCreateView 함수가 호출되는 건가요?
yt0229 (1,070 포인트) 님이 2018년 4월 9일 질문

1개의 답변

0 추천

페이지를 넘길때마다 

아답터에 getItemPosition 함수를 오버라이드 해서  POSITION_NONE를 리턴해주시고

notifyDataSetChanged(); 도 같이 호출하시면 될거에요

근데 굳이 그렇게 까지 페이지를 넘길때 마다 갱신을 할 필요가 있나요..

그렇게 되면 뷰페이저에 붙은 프레그먼트들을 destroy 하고 다시 붙이니 비효율적인데

단순히 프레그먼트 안에 내용이 바뀌는걸 원하면 프레그먼트 안에서 해결해주시는게 좋을듯합니다

poporo (3,960 포인트) 님이 2018년 4월 9일 답변
위처럼 사용 안할건데 이해하기 쉽게 써놓은 거구요 ㅎㅎ
getItemPosition이랑 notifyDataSetChanged 써야되는거 다 아는데
위의 함수로 인해 갱신될 때마다 onCreateView가 호출되는지 그게 궁금한거에요 ㅎㅎ
destroy 되고 다시 붙으니 onCreateView가 호출되죵
...