我有RecyclerView(mCourseList),该列表包含项目,并且这些项目包含有关不同课程的一些信息(课程名称,面值之和等原始数据)。我需要将每门课程(每个项目)的所有单独的面值设置为arraylist(mParNumbersIndividually),并将该arraylist包括到recyclerview项目中。

这是我将新商品放入该列表的方式:

    /** Receive primitive data from and make new item with that information **/
    mCourseList.add(new CoursesItem(getIntent().getStringExtra("COURSENAME"), "Holes:", getIntent().getStringExtra("HOLENUMBER"), "Par:", Integer.toString(parCount), R.drawable.ic_delete));


现在,我需要将该数组列表(mParNumbersIndividually)添加/包括到我刚刚创建的mCourseList项中。我怎样才能做到这一点?

最佳答案

在CoursesItem类中添加具有数组类型的新变量

  ArrayList<NewCourseItem> mParNumbersIndividually;


在CoursesItem构造函数中包含一个额外的参数,期望类型数组。

 CoursesItem(var arg1, var arg2, ..., ..., ArrayList<NewCourseItem> mParNumbersIndividually)


像构造函数中的所有其他变量一样初始化数组

 this.arg1 = arg1;
 this.mParNumbersIndividually = mParNumbersIndividually;
 //...other variables initialized


为仍在CoursesItem对象内的数组创建getter方法

  public ArrayList<NewCourseItem> getParNumbersIndividually(){
   return mParNumbersIndividually;
  }


然后,将mParNumbersIndividually数组作为CourseItem构造函数的新参数传递。

 //Pass the array to CourseItem
 mCourseList.add(new CoursesItem(arg1, arg2, ..., ..., mParNumbersIndividually));


然后随时访问数组,就像CoursesItem对象中的所有其他变量一样

 ArrayList<NewCourseItem>  mParNumbersIndividuallyNew = cousersItems.get(i).getParNumbersIndividually();

10-07 19:47
查看更多