Вставьте RecyclerView внутри другого RecyclerView.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Вставьте RecyclerView внутри другого RecyclerView.

Сообщение Anonymous »

Я создаю набор из 5 карточек в стиле Google Now Cards. В первую очередь я концентрируюсь на макете в целом.

Я использую CardView и RecyclerView, и я хочу добиться чего-то вроде этого:

Изображение


Это мой CardAdapter (также общий адаптер):

Код: Выделить всё

public class CardAdapter extends RecyclerView.Adapter {
private ArrayList item;
public CardAdapter(ArrayList item){
this.item = item;
}

@Override
public cardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_layout,parent,false);
cardViewHolder card = new cardViewHolder(v);
return card;
}

@Override
public void onBindViewHolder(cardViewHolder holder, int position) {
holder.titel.setText(item.get(position).getTitel());
holder.card_icon.setImageResource(item.get(position).getIcon());
holder.load_more.setText("Load more");
}

@Override
public int getItemCount() {
return item.size();
}

public static class cardViewHolder extends RecyclerView.ViewHolder{
TextView titel;
ImageView card_icon;
RecyclerView list_content;
TextView load_more;
public cardViewHolder(View itemView){
super(itemView);
titel = (TextView)itemView.findViewById(R.id.titel);
card_icon = (ImageView)itemView.findViewById(R.id.card_icon);
load_more = (TextView)itemView.findViewById(R.id.loadmore);
list_content = (RecyclerView)itemView.findViewById(R.id.list_content);
}

}}
Это MensaCardAdapter (адаптер для первой карты, насколько я знаю, у каждой карты должен быть определенный адаптер, поскольку все они имеют разные макеты)

Код: Выделить всё

public class MensaCardAdapter extends RecyclerView.Adapter {
private List items;

public MensaCardAdapter(List  items) {
this.items = items;
}

@Override
public MensaViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.mensa_row,parent,false);
return new MensaViewHolder(v);
}

@Override
public void onBindViewHolder(MensaViewHolder holder,  int position) {
holder.content.setText(items.get(position).getMensa_row_content());
holder.img.setImageResource(items.get(position).getMensa_row_img());
holder.title.setText(items.get(position).getTitel());
}

@Override
public int getItemCount()  {
return items.size();
}

public class MensaViewHolder extends RecyclerView.ViewHolder{
private ImageView img;
public TextView title;
public TextView content;

public MensaViewHolder(View itemView){
super(itemView);
img = (ImageView)itemView.findViewById(R.id.mensa_row_img);
title = (TextView)itemView.findViewById(R.id.mensa_row_title);
content = (TextView)itemView.findViewById(R.id.mensa_row_content);
}
}}
Это CardLayout (для всех карточек)


А это MensaCardLayout (макет для первой карты)


1- Я могу без проблем создавать карточки без RecyclerView внутри них, но я понятия не имею, как написать класс Activitymain с 1 общим RecyclerView и 5 независимыми и разными RecyclerView.

Дело в том, что каждая карточка имеет разный макет и разное содержимое, я очень новичок в Android и действительно не понимаю никаких других сложных примеры

Любая помощь будет оценена по достоинству

Подробнее здесь: https://stackoverflow.com/questions/404 ... cyclerview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»