Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Du brauchst ein Interface welches deine beiden Models implementieren um eine gemeinsame List zu machen
- public interface Buyable {
- }
- public class DrinksSelection implements Buyable {
- ...
- }
- public class ShishaSelection implements Buyable {
- ...
- }
- // In deiner Warenkorb Activity holst du dir alle shishas und drinks und fügst die in eine List vom Typ Buyable
- // und gibst die dann deinem Adapter
- // List<Buyable> list = new ArrayList()
- // list.addAll(shishas)
- // list.addAll(drinks)
- public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private final int DRINK_TYPE = 1;
- private final int SHISHA_TYPE = 2;
- private List<Buyable> list;
- public MyAdapter(List<Buyable> list) {
- this.list = list;
- }
- class ShishaViewHolder extends RecyclerView.ViewHolder {
- ...
- public ShishaViewHolder(View itemView){
- ...
- }
- }
- class DrinkViewHolder extends RecyclerView.ViewHolder {
- ...
- public DrinkViewHolder(View itemView){
- ...
- }
- @Override
- public int getItemViewType(int position) {
- if (list.get(position) instanceof DrinkSelection) {
- return DRINK_TYPE;
- } else {
- return SHISHA_TYPE;
- }
- }
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- switch (viewType) {
- case DRINK_TYPE: return new DrinkViewHolder(...);
- case SHISHA_TYPE: return new ShishaViewHolder(...);
- ...
- }
- }
- @Override
- public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
- switch (holder.getItemViewType()) {
- case DRINK_TYPE:
- DrinkViewHolder drinkViewHolder = (DrinkViewHolder) holder;
- ...
- break;
- case 2:
- ShishaViewHolder shishaViewHolder = (ShishaViewHolder) holder;
- ...
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement