解决TabLayout +ViewPager + Fragment 不让预加载的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36707431/article/details/78898750

解决TabLayout + ViewPager + Fragment 的预加载问题:

解决法:

1.在每个Fragment里面定义一个方法:用来做请求数据

2.通过ViewPager滑动事件来加载数据

  ①:设置首次选中的tab页,并调用该页定义的请求数据的方法

②:在ViewPager的滑动事件里,通过选中的位置(position),去做网络请求


 //默认选中的tab 并加载该tab页的数据
        viewpager.currentItem = 1
        fragmentList[1].getData()
        viewpager.addOnPageChangeListener(object :ViewPager.OnPageChangeListener{
            override fun onPageScrollStateChanged(state: Int) {

            }

            override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {

            }

            override fun onPageSelected(position: Int) {
                fragmentList[position].getData()
            }

        })


       

猜你喜欢

转载自blog.csdn.net/qq_36707431/article/details/78898750