如何从RecyclerView.Adapter类中获取ArrayList

时间:2016-10-25 17:16:01

标签: java android android-recyclerview adapter

我是初学者(和法语),我有MainActivity课程,我使用了一个适配器的recyclerview,但是现在我想把这个数组列表(Notes)称为我的MainActivity

ArrayList<Note> Notes = new ArrayList<Note>();
mAdapter = new MyAdapter(Strings);
mRecyclerView.setAdapter(mAdapter);

来自MyAdapter类的onBindViewHolder方法:

@Override
public void onBindViewHolder(ViewHolder holder, int position) {

    holder.mButton.setText(Strings[position]);
    //it work

    Integer couleur = Notes.get(position).getCouleur();
    //i want to use Notes from my MainActivity for get a color
}

感谢您的回答:)

2 个答案:

答案 0 :(得分:0)

在RecyclerView继承类的构造函数中再添加一个参数,并将值赋值给类RecyclerView的arraylist类变量。像

这样的东西
....
....class MyRecyclerView extends RecyclerView....
{
List<xyz> arrayList;
....
public MyRecyclerView(...,ArrayList<xyz> arrayList)
{
this.arrayList=arrayList;
}

并在您想要使用时使用this.arrayList

答案 1 :(得分:0)

非常感谢您的回答,我理解这段代码是什么,但我首先发现了这个:

public class RecyclerView extends ViewGroup implements ScrollingView, NestedScrollingChild {
public RecyclerView(Context context) {
    this(context, null);
}

我无法修改代码。 第二个我的arraylist使用bdd(第二个代码在我的MainActivity中)

public NotesBDD noteBDD = new NotesBDD(this);
ArrayList<Note> Notess = noteBDD.ConstruireNotes();
    for (Note n : Notess){
        Notes.add(n);
    }

可以使用其他类的非静态方法吗?