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

프래그먼트 뷰페이저에 미리 로딩하지 않게 하는 방법이 궁금합니다.

0 추천
연습용으로 앱을 개발하고 있는중인 학생입니다.

지금 만들고 있는 앱은 사용자에게 api를 이용해서 가져온 데이터를 제공하는 어플입니다.

프래그먼트가 5개 있는데 뷰페이저를 이용해서 구현하였습니다. 그런데 문제가 발생합니다.

제가 생각한것은 프래그먼트가 이동될때마다 파싱을 통해서 사용자에게 데이터를 보여주는데

뷰페이저때문에 프래그먼트가 미리 로딩되고 있었습니다.

이것을 미리 로딩되지 않게 하려면 어떻게해야합니까?

그리고 5개의 프래그먼트가있는데 스와이프로 프래그먼트를 이동하면 이동전 위치에서 좌우로 1개씩 이동했을때는 EditText에있는 데이터가 유지되는데 2개씩 이동하고 처음위치로 오면 데이터가 모두 리셋 되는것을 확인했습니다. 이부분도 어떻게해야할지 잘 모르겠습니다. ㅠㅠ
안린이 님이 2018년 8월 18일 질문

1개의 답변

0 추천
ViewPager는 좌우 swipe touch 동작에 바로 반응해야하기 때문에

할당된 좌우 fragment은 화면에 보이지 않더라도 미리 memory에 로드가 됩니다.

따라서 원하시는 파싱 동작을 fragment가 생성될때가 아니라,

ViewPager에서 해당 page가 select될때 진행하는 방식으로 바꾸는 것이 원하는 바가 아닌가 싶네요.

다음과 같은 listener가 있습니다.

- ViewPager.OnPageChangeListener
디자이너정 (42,810 포인트) 님이 2018년 8월 18일 답변
...