Java 在ViewHolder中包含多个ArrayList的ArrayList

Java 在ViewHolder中包含多个ArrayList的ArrayList,java,android,arraylist,android-viewholder,Java,Android,Arraylist,Android Viewholder,所以我有一个ArrayList,它包含多个ArrayList。我要做的是显示所有ArrayList中的所有元素。问题是我创建的for循环覆盖了前面的元素 public void onBindViewHolder(final ContentClickViewHolder holder, int position) { int finalPosition = MainActivity.getBasketList().get(holder.getAdapterPosition()).size

所以我有一个ArrayList,它包含多个ArrayList。我要做的是显示所有ArrayList中的所有元素。问题是我创建的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());
    }
}
BindViewHolder上的公共无效(最终内容单击ViewHolder,int位置){
int finalPosition=MainActivity.getBasketList().get(holder.getAdapterPosition()).size();
对于(int i=0;i
  • 不要在
    onBindViewHolder()方法中执行此操作

  • MainActivity.getBasketList()获取列表
    复制此列表

    List copy=newArrayList(MainActivity.getBasketList())

  • 在适配器之外进行一些计算。它可以是活动,也可以是该副本上更好的演示者

  • 将该副本设置为适配器的新数据

  • 适配器应该只是帮助显示列表,而不应该具有对列表进行排序的逻辑

  • 不要在
    onBindViewHolder()方法中执行此操作

  • MainActivity.getBasketList()获取列表
    复制此列表

    List copy=newArrayList(MainActivity.getBasketList())

  • 在适配器之外进行一些计算。它可以是活动,也可以是该副本上更好的演示者

  • 将该副本设置为适配器的新数据

  • 适配器应该只是帮助显示列表,而不应该具有对列表进行排序的逻辑