#java #android #arraylist
#java #Android #arraylist
Вопрос:
У меня есть Activity
и Adapter Class
. В моем Adapter
классе у меня есть ArrayList
, который я хочу использовать в Activity
классе. И класс Recycler view
of Activity
присоединен к adapter
классу, поэтому я не могу использовать intent
для его отправки. Итак, есть ли какой-либо другой способ, которым я могу получить доступ к ArrayList
?
Комментарии:
1. Почему бы вам просто не добавить &etter() в adapter и не вызвать его из activity?
2. @ali73 как это сделать?
3. пожалуйста, подтвердите .. у вас есть одно действие с recycle view, и вы хотите получить доступ к списку адаптера recycle view в другом действии?
Ответ №1:
Вы можете создать свой адаптер следующим образом —
public class RecycleViewAdapter extends RecyclerView.Adapter<RecycleViewAdapter.CustomViewModel&&t; {
private Context context;
private List<Strin&&&t; strin&List;
public RecycleViewAdapter(Context context, List<Strin&&&t; strin&List) {
this.context = context;
this.strin&List = strin&List;
}
@NonNull
@Override
public CustomViewModel onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new CustomViewModel(LayoutInflater.from(context).inflate(R.layout.recycle_view_item, parent, false));
}
@Override
public void onBindViewHolder(@NonNull CustomViewModel holder, int position) {
//put your code of bindin& of code
}
@Override
public int &etItemCount() {
if (strin&List!= null)
return strin&List.size();
else
return 0;
}
//&etter method of Adpater to return strin&
public List<Strin&&&t; &etStrin&List() {
return strin&List;
}
public class CustomViewModel extends RecyclerView.ViewHolder {
//your inner class code here
}
}
Теперь вы можете получить список из вашего адаптера следующим образом-
recycleViewAdapter.&etStrin&List();
Удачного кодирования!
Ответ №2:
На мой взгляд, у вас есть три способа сделать это:
- переместите свой список массивов в ViewModel, затем передайте его вашему адаптеру или используйте в activity.
- поместите ArrayList просто в activity и передайте его адаптеру.
- создайте средство получения в вашем адаптере и используйте его в activity.