package com.lzx.demo.adapter; import android.content.Context; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.widget.TextView; import com.lzx.demo.R; import com.lzx.demo.base.BaseMultiAdapter; import com.lzx.demo.base.SuperViewHolder; import com.lzx.demo.bean.Goods; import com.lzx.demo.bean.MultipleItem; import com.lzx.demo.util.HorizontalItemDecorator; import java.util.ArrayList; import java.util.List; /** * Created by Lzx on 2016/12/30. */ public class ShopAdapterBase extends BaseMultiAdapter<MultipleItem> { private List<Goods> goodsList = new ArrayList<>(); public ShopAdapterBase(Context context, List<Goods> goodsList) { super(context); addItemType(MultipleItem.TEXT, R.layout.list_item_text); addItemType(MultipleItem.LIST, R.layout.layout_list_item_goods_related); this.goodsList = goodsList; } @Override public void onBindItemHolder(SuperViewHolder holder, int position) { MultipleItem item = getDataList().get(position); switch (item.getItemType()) { case MultipleItem.TEXT: bindTextItem(holder,item); break; case MultipleItem.LIST: bindListItem(holder,item); break; default: break; } } private void bindTextItem(SuperViewHolder holder, MultipleItem item) { TextView textView = holder.getView(R.id.info_text); textView.setText(item.getTitle()); } private void bindListItem(SuperViewHolder holder, MultipleItem item) { RecyclerView recyclerView = holder.getView(R.id.related_recyclerview); final LinearLayoutManager layoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false); RelatedGoodsAdapter adapter = new RelatedGoodsAdapter(mContext, goodsList); recyclerView.setAdapter(adapter); recyclerView.addItemDecoration(new HorizontalItemDecorator((int) mContext.getResources().getDimension(R.dimen.padding_size_small))); recyclerView.setLayoutManager(layoutManager); recyclerView.setHasFixedSize(true); } }