Я создаю набор из 5 карт со стилем карт Google Now. Сначала я сосредотачиваюсь с макетом в целом. < /p>
Я использую Cardview и Recyclerview, и то, чего я хочу достичь, - это что -то вроде этого: < /p>
Общий адаптер): < /p>
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);
}
}}
< /code>
Это MensacardAdapter (адаптер для первой карты, насколько я знаю, каждая карта должна иметь определенный адаптер, поскольку у всех них разные макеты) < /p>
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);
}
}}
< /code>
Это карта (для всех карт) < /p>
< /code>
< /p>
И это Mensacardlayout (макет для первой карты) < /p>
< /code>
< /p>
1- Я могу создавать карты без переработки внутри них без проблем, но я понятия не имею, как написать класс Activitymain с 1 общим переработкой и 5 независимым и различным рециклём. Я действительно не понимаю никаких других сложных примеров < /p>
Любая помощь будет оценена < /p>
Подробнее здесь: https://stackoverflow.com/questions/404 ... cyclerview
Вставьте переработку в другой переработку ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение