【问题标题】:sequence concatadapter based on data type基于数据类型的序列连接适配器
【发布时间】:2022-10-21 15:12:49
【问题描述】:

是否可以根据数据类型使用连接适配器。

连接适配器的正常实现是

 val concatadapter = listOf(firstAdapter, secondAdapter, thirdAdapter)

在尝试此代码时,

 for (nums in 0..15) {
      if (nums % 2 == 0) {
           concatAdapter.add(firstAdapter)
      } else {
           concatAdapter.add(secondAdapter)
      }
 }

将显示第一个“firstAdapter”和“secondAdapter”。 但不显示下一个“firstAdapter”和“secondAdapter”。

这段代码有什么问题吗?

【问题讨论】:

    标签: android kotlin android-concatadapter


    【解决方案1】:

    其他适配器不可见的原因是因为您正在添加相同的对象“第一个适配器”“第二个适配器”每次在 concat 适配器中,您都必须初始化“第一个适配器”“第二个适配器”添加到 concat 适配器时,如下所示:

     concatAdapter=ConcatAdapter()
        for (nums in 0..15) {
            if (nums % 2 == 0) {
                concatAdapter.addAdapter(FirstAdapter(nums))
            } else {
                concatAdapter.addAdapter(SecondAdapter(nums))
            }
        }
        var layoutManager = LinearLayoutManager(this, RecyclerView.VERTICAL, false)
        binding.recycler.layoutManager = layoutManager
        binding.recycler.adapter=concatAdapter
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多