![](/img/trans.png)
[英]How to access LayoutManager from RecyclerView.Adapter to get scrollToPosition?
[英]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.