1
  • 最佳答案

    解决了,是因为返回的是在BaseFrament里return的是rootView,但是我又用了viewBinding,虽然不知道为什么这两个指向的不是同一个东西,但是把BaseFragment里的返回设置成rootBinding.inflate(layoutinflater)就解决了。

    1780109488992477186  评论     打赏       沐绒
    • 沐绒  回复 @沐绒
      查看发现FragmentHomeBinding.inflate(layoutinflater)和通过rootview_ = inflater.inflate(R.layout.fragment_home, container, false)生成的是不同的对象。因此我return的和绑定的adapter是不同的view。
      沐绒 2024-04-29 14:36   回复 1780109488992477186
  • 提示:没有设置适配器


    我看到你已经设置了:


            homePagerAdapter_ = HomePagerAdapter(this)
            homePager_!!.adapter = homePagerAdapter_
    


    那怎么还报这个错?要考虑一下时序之类的。


    还需要你提供完整的日志。


    1153952789488054272  评论     打赏       拉大锯
    • 这是在打断点看赋值的时候和报错后的homePager.Adapter的情况。

      第一张图赋值的时候是和homePagerAdapter一样的,

      第二张图报错后(在收到网络信息前)看Adapter的值也是有的。

      图一和图二是两次运行的截图,所以@后面的哈希码不太一样。



      1780109488992477186  评论     打赏       沐绒
      • 沐绒  回复 @沐绒
        在onViewCreated结束之后adapter还是有值的,运行到recyclerView里的onLayout时adapter就是null了,然后运行到网络收到200状态码的时候adapter又是有值的。很令人费解不知道什么时候把adapter置空了。
        沐绒 2024-04-29 00:30   回复 1780109488992477186
    • 这是我目前打的一个日志,不知道是否完整,如果需要补充我也可以输出,谢谢!

      1780109488992477186  评论     打赏       沐绒
      相关问题
      Pancica · 领券联盟
      2020-03-18 04:10 475 2
      独一无二的名字. · 领券联盟
      2020-03-23 17:24 584 2
      路不离开 · 领券联盟
      2020-04-03 17:29 626 2
      上官蛆 · 领券联盟
      2020-04-16 02:24 408 2