Я использую RecyclerView
для отображения некоторых данных.Для каждого элемента в моем RecyclerView я создал собственный макет, который наряду с другими представлениями содержит RecyclerView.Итак, у меня есть вложенный RecyclerView под каждым элементом.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:layout_width="180dp"
android:layout_height="45dp"
android:id="@+id/recycler_view"/>
//Other text views
</RelativeLayout>
Макет внутреннего RecyclerView очень прост, ImageView для каждого элемента, как на скриншоте ниже:
Это мой класс адаптера для внешнего ReyclerView:
class UserViewHolder extends RecyclerView.ViewHolder {
View itemView;
RecyclerView recyclerView;
UserViewHolder(View itemView) {
super(itemView);
this.itemView = itemView;
recyclerView = itemView.findViewById(R.id.recycler_view);
}
void bind(User user) {
itemView.setOnClickListener(view -> {
//Move to user Activity
});
UserAdapter adapter = new UserAdapter(user.list);
recyclerView.setAdapter(adapter);
}
}
Как видите, я создаю новый объект UserAdapter
для каждого RecyclerView
, который существует в моем элементепоэтому каждый внутренний RecyclerView должен иметь свой собственный адаптер.К сожалению, я получаю:
Адаптер не подключен;пропуск макета
Как настроить адаптер для внутреннего RecyclerView, чтобы я больше не мог получить эту ошибку?Это может быть установлено вне моего внешнего класса адаптера?Спасибо!
Редактировать:
@Override
protected void onBindViewHolder(@NonNull UserViewHolder userViewHolder, int position, @NonNull User user) {
userViewHolder.bind(user);
}