ViewPager call setUserVisibleHint after first Fragment is loaded

后端 未结 6 1412
梦谈多话
梦谈多话 2020-12-13 23:40

In my application, I have a ViewPager which holds many swipeable Tabs with Fragments inside. I use the setUserVisibleHint method to detect when a Fragment

6条回答
  •  一向
    一向 (楼主)
    2020-12-14 00:17

    BELOW WORKED FOR ME

    Please create a global view like this

    View view;
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState)
        {
            //inflate view layout
            view =inflater.inflate(R.layout.your_fragment, container, false);
    
            // return view
            return view;
        }
    

    and use this

     @Override
            public void setUserVisibleHint(boolean isUserVisible)
            {
                super.setUserVisibleHint(isUserVisible);
               // when fragment visible to user and view is not null then enter here.
                    if (isUserVisible && view != null)
                    {
                       onResume();
                    }
    
            }
    

    and In OnResume method

    @Override
             public void onResume() { 
             super.onResume();   
                if (!getUserVisibleHint()) {
                return;
              }
          //do your stuff here
       }
    

提交回复
热议问题