Check if fragment is currently visible or no

前端 未结 10 815
悲&欢浪女
悲&欢浪女 2020-12-05 03:10

I know there are lots of similar questions in StackOverflow but my question is little different.

I have nested hierarchy of Fragments like in below structure:

<
10条回答
  •  清歌不尽
    2020-12-05 03:42

    Give this a try..

    The isVisible() adds an extra layer of visibility check.

        ViewPager viewPager=(ViewPager)findViewById(R.id.view_pager); 
    
        final Fragment[] fragments={new DFragment(),new MyFragment()};  //add all the other fragment objects present in the view pager......
    
        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
            }
    
            @Override
            public void onPageSelected(int position) {
                if(fragments[position].isVisible()){
                    //Cool stuff to do.
                }
            }
    
            @Override
            public void onPageScrollStateChanged(int state) {
    
            }
        });
    

提交回复
热议问题