AndyJennifer

Results 4 comments of AndyJennifer

你好,我测试了一下Demo1的例子。走了一下你说的流程,具体流程如下所示 步骤1:直接进入Demo1,界面展示为Fragment1 ![1](https://user-images.githubusercontent.com/21104606/120652304-3c4f8800-c4b2-11eb-89a3-ae6daa2b8f1a.jpg) 步骤2:直接切到Fragment3 ![2](https://user-images.githubusercontent.com/21104606/120652352-47a2b380-c4b2-11eb-9866-d6288b15fc22.jpg) 步骤3:切回到Fragment1 ![3](https://user-images.githubusercontent.com/21104606/120652447-6143fb00-c4b2-11eb-90ef-b7379958bca6.jpg) 因为Fragment view 被销毁了,所以会走相应生命周期。这个有什么问题吗?

> 这对于Android Fragment的生命周期来说是没有问题的,但是正常来说对于懒加载的话,同一层级的fragment的话就不想出现初始化的 如果你想同层级的fragment不重走生命周期方法,那么使用Viewpager 是没有办法控制的,因为它总会销毁Fragment实例或view,但是如果你采用show +hide 的方式就不会重走生命周期方法。什么时候使用ViewPager,什么时候时候使用Show +hide。这个要看具体的使用场景了。当然该项目中也有使用Show +Hide的使用例子,你如果有兴趣可以看看。

@censhengde 你好,想问一下,是哪个例子在调用了setCurrentItem 后,懒加载有问题呢。这里我测试了一下。没有发现问题呢?

我跑了一下Demo1,将Activity1 中的 代码修改为这样 ```kotlin private fun initView() { val viewPager = findViewById(R.id.view_pager).apply { adapter = FragmentLazyPagerAdapter( supportFragmentManager, generate123Fragments().values.toMutableList(), generate123FragmentTitles() ) } //👇🏻这里 viewPager.currentItem = 1 findViewById(R.id.tab_layout).setupWithViewPager(viewPager) } ``` ![4](https://user-images.githubusercontent.com/21104606/120654404-3fe40e80-c4b4-11eb-97e4-d21eb8aba992.jpg) 所以我不明白你的问题是什么-...