我有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();