在ViewHolder中包含多个ArrayLists的ArrayList

时间:2017-02-24 14:45:30

标签: java android arraylist android-viewholder

所以我有一个包含多个ArrayLists的ArrayList。我想要做的是展示所有arraylists中的所有元素。问题是我创建的for循环覆盖了以前的元素。

public void onBindViewHolder(final ContentClickViewHolder holder, int position) {

    int finalPosition = MainActivity.getBasketList().get(holder.getAdapterPosition()).size();
    for (int i = 0; i < finalPosition; i++) {
        final Content object = MainActivity.getBasketList().get(position).get(i);
        final int value = i;

        holder.name.setText(object.getRestaurant_name());
    }
}

1 个答案:

答案 0 :(得分:0)

  1. 请勿在{{1​​}}方法中执行此操作。

  2. onBindViewHolder()获取此列表的副本

    MainActivity.getBasketList()

  3. 在适配器外部进行一些计算。它可以是该副本上的活动或更好的演示者。

  4. 将该副本设置为适配器的新数据。

  5. 适配器应该只是帮助显示列表,不应该有逻辑排序列表。