簡體   English   中英

如何從RecyclerView.Adapter類獲取ArrayList

[英]How get ArrayList from RecyclerView.Adapter class

我是初學者(和法語),我有MainActivity類,並且將recyclerview與適配器一起使用,它可以工作,但是現在我想在MainActivity中調用此arrayList(注釋)

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
}

謝謝你的回答:)

向RecyclerView繼承的類的構造函數中再添加一個參數,然后...將值分配給RecyclerView類的arraylist類變量。 就像是

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

並在要使用的任何地方使用this.arrayList

非常感謝您的回答,我理解這段代碼的作用,但首先我發現了這一點:

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);
    }

是否可以使用其他類的非靜態方法?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM