Вложенный Recyclerview с одним массивом - PullRequest
0 голосов
/ 27 мая 2020

Привет всем, я разрабатываю приложение android, в котором я использую вложенный recyclerview, Horizontal Recyclerview, присутствующий в Vertical RecyclerView. Проблема в том, что когда я заполняю recyclerview с помощью arraylist, он отображает каждый элемент arraylist в вертикальном recyclerview. Но я хочу, чтобы для заполнения вертикального recyclerview с помощью одного arrayylist, и каждый элемент arraylist должен быть заполнен в соответствии с вертикальными тегами recyclerview, например. Sports, Gymnasti c, et c. каждый элемент arrayylist будет отображаться в соответствующих тегах.

Это моя вертикальная модель.

public class VerticalModel {
private String category;
private int position;
private ArrayList<HorizontalModel> mInnerArrayList;

public String getCategory() {
    return category;
}

public void setCategory(String category) {
    this.category = category;
}

public int getPosition() {
    return position;
}

public void setPosition(int position) {
    this.position = position;
}

public ArrayList<HorizontalModel> getmInnerArrayList() {
    return mInnerArrayList;
}

public void setmInnerArrayList(ArrayList<HorizontalModel> mInnerArrayList) {
    this.mInnerArrayList = mInnerArrayList;
}

}

Это вертикальный класс адаптера и его метод onBindViewHolder, где i Я заполняю вертикальный адаптер горизонтальным адаптером.

@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
    holder.category.setText(models.get(position).getCategory());
    List<HorizontalModel> itemData = models.get(position).getmInnerArrayList();

    HorizonatlAdapter horizonatlAdapter = new HorizonatlAdapter(context,itemData);
    holder.horizontal_recycler.setHasFixedSize(true);
    holder.horizontal_recycler.setLayoutManager(new
            LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false));
    holder.horizontal_recycler.setAdapter(horizonatlAdapter);
    holder.horizontal_recycler.setNestedScrollingEnabled(false);
}

Подскажите, как я могу это сделать. возможно это или нет? помощь с кодом будет оценена.

...