개발관련/other

ViewPager에서 조각이 표시되는시기를 확인하는 방법

Rateye 2021. 6. 5. 13:42
728x90
반응형
질문 : ViewPager에서 조각이 표시되는시기를 확인하는 방법

문제 : ViewPager onResume() 은 조각이 실제로 표시되기 전에 시작됩니다.

예를 들어, ViewPagerFragmentPagerAdapter 있습니다. 두 번째 조각은 권한있는 사용자 만 사용할 수 있으며 조각이 표시되면 사용자에게 로그인하도록 요청해야합니다 (경고 대화 상자 사용).

그러나 ViewPager 는 두 번째 조각을 캐시하기 위해 첫 번째 조각이 표시 될 때 두 번째 조각을 생성하고 사용자가 스 와이프를 시작할 때 표시되도록합니다.

따라서 onResume() 이벤트는 표시되기 훨씬 전에 두 번째 조각에서 시작됩니다. 그래서 적절한 순간에 대화 상자를 표시하기 위해 두 번째 조각이 표시 될 때 발생하는 이벤트를 찾으려고합니다.

어떻게 할 수 있습니까?

답변

ViewPager에서 조각이 표시되는시기를 확인하는 방법

Fragment 에서 setUserVisibleHint 를 재정 의하여 다음을 수행 할 수 있습니다.

public class MyFragment extends Fragment {     @Override     public void setUserVisibleHint(boolean isVisibleToUser) {         super.setUserVisibleHint(isVisibleToUser);         if (isVisibleToUser) {         }         else {         }     } } 
출처 : https://stackoverflow.com/questions/10024739/how-to-determine-when-fragment-becomes-visible-in-viewpager
728x90
반응형