【问题标题】:How to show items in a list view only when the sequence is the same仅当序列相同时如何在列表视图中显示项目
【发布时间】:2019-03-06 10:34:46
【问题描述】:

我只想在与前三个最佳 cmets 的序列匹配的 cmets 下方显示“最佳”。

评论适配器

   for (GoodsComment num : list) {
            if (item.getSeq() == num.getSeq()) {
                holder.txtBest.setVisibility(View.VISIBLE);
            } else {
                holder.txtBest.setVisibility(View.GONE);
            }
        }

此代码有效,但只有一个

【问题讨论】:

标签: android android-layout android-listview


【解决方案1】:

假设您在适配器内部执行此操作,则不应使用 for 循环。创建一个包含最佳 cmets 序列号的数组,并将其作为变量放入适配器中。

然后在适配器中,getView()(用于 Listview)或 bindView()(用于 RecyclerView)检查序列号是否在您之前创建的数组中。

这应该在所有匹配的行中显示“最佳”标志。

【讨论】:

  • 谢谢您,先生。现在我明白了结构上有什么问题。但我不知道在哪里以及如何在适配器中声明序列变量。
【解决方案2】:

尝试使用整数标志和每次递增标志,然后检查标志是否 = 3

【讨论】:

    【解决方案3】:

    您是否每次在 for 循环之后都更新列表项 item

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2011-06-01
      • 1970-01-01
      相关资源
      最近更新 更多