좀 복잡한 문제를 겪고 있습니다
ViewPager 위젯을 사용중입니다 ViewPager는 내부의 여러 페이지를 가지고 있고 한번에 하나의 페이지만 보이며 좌우로 밀어서 페이지를 넘겨볼 수 있도록 하는 위젯인데요, 내부의 페이지를 프래그먼트로 사용하여 구성했습니다,
좌우로 페이지를 넘겨서 페이지가 바뀔때마다 보여지는 현재 페이지(프래그먼트)에서의 작업 결과를 구하기 위해서 페이지가 바뀌는 시점을 알아야해서 부모뷰의 onCreateView()에서 ViewPager의 onPageChange 이벤트에 대해 이벤트 리스너를 설치했는데, 이 일단 동작은 합니다
그런데 화면을 돌려 레이아웃이 새로 구성이 되면 좀 어려운 문제가 발생합니다, 에초 부모의 onCreateView에서 자식인 ViewPager에게 이벤트 리스너를 설치한것인데, 화면을 돌려서 새로 구성될때에는 최초 이벤트 발생이 너무 빨라서 보여지는 페이지(프래그먼트)의 onCreateView 초기화가 되기도 전에 참조해서 작업 결과를 받아오려고 해서 에러가 발생하더라구요
화면 새로 구성이 되면서 자동적으로 발생하는 최초 onPageChange 이벤트 발생을 늦춰보려고 부모에서 ViewPager로의 이벤트 리스너 설치를 부모의 onCreateView 에서 onStart 시점으로 바꾸었는데 동작은 잘 됩니다만 꼼수를 부린것 같아 좀 찝찝합니다
원래 onStart 이벤트 발생 시점이 그외 모든 (동적으로 페이지가 생성되는 ViewPager의 최초 자식까지) 뷰의 초기화가 완료된 시점으로 정의되어있는 걸까요?
또 onStart 시점에 이벤트 리스너를 설치하는게 이상하지는 않는지요?