2016-10-25 4 views
0

Я начинаю (и французский), у меня есть класс MainActivity, и я использую recyclerview с адаптером, и это работает, но теперь я хочу назвать этот массивList (Notes) в моей MainActivityКак получить ArrayList из RecyclerView.Adapter class

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

из onBindViewHolder метода из MyAdapter класса:

@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 
} 

спасибо за ваши ответы :)

ответ

0

Добавить еще один параметр в конструктор Recycl erView унаследованный класс и ... Назначьте значение переменной класса arraylist класса RecyclerView. Что-то вроде

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

И использовать this.arrayList везде, где вы хотите использовать.

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

Можно использовать не статические методы из другого класса?

+0

вы должны опубликовать его как комментарий, а не ответ – Vendetta8247

Смежные вопросы