/**
* 创建viewholder 相当于baseadapter里的getview,相当于viewholder部分代码
* @param parent
* @param viewType 当前的类型
* @return 返回一个用来展示的控件的布局,如下方的R。layout.banner_viewpager这个布局的页面等
*/
@Override
public
RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent,
int
viewType) {
if
(viewType==BANNER){
return
new
BannerViewHolder(context,layoutInflater.inflate(R.layout.banner_viewpager,
null
));
}
else
if
(viewType==CHANNEL){
return
new
ChannelViewHolder(context,layoutInflater.inflate(R.layout.channel_item,
null
));
}
else
if
(viewType==ACT){
return
new
ActViewHolder(context,layoutInflater.inflate(R.layout.act_item,
null
));
}
else
if
(viewType==SECKILL){
return
new
SeckillViewHolder(context,layoutInflater.inflate(R.layout.seckill_item,
null
));
}
else
if
(viewType==RECOMMEND){
return
new
RecommendViewHolder(context,layoutInflater.inflate(R.layout.recomment_item,
null
));
}
else
if
(viewType==HOT){
return
new
HotViewHolder(context, layoutInflater.inflate(R.layout.hot_item,
null
));
}
return
null
;
}
2
、绑定数据到这个区域
/**
* 相当于getview里的绑定数据
* @param holder
* @param position
*/
@Override
public
void
onBindViewHolder(RecyclerView.ViewHolder holder,
int
position) {
if
(getItemViewType(position)==BANNER){
BannerViewHolder bannerViewHolder= (BannerViewHolder) holder;
bannerViewHolder.setData(resultBean.getBanner_info());
}
else
if
(getItemViewType(position)==CHANNEL){
ChannelViewHolder channelViewHolder= (ChannelViewHolder) holder;
channelViewHolder.setData(resultBean.getChannel_info());
}
else
if
(getItemViewType(position)==ACT){
ActViewHolder actviewholder= (ActViewHolder) holder;
actviewholder.setData(resultBean.getAct_info());
}
else
if
(getItemViewType(position)==SECKILL){
SeckillViewHolder seckillViewHolder= (SeckillViewHolder) holder;
seckillViewHolder.setData(resultBean.getSeckill_info());
}
else
if
(getItemViewType(position)==RECOMMEND){
RecommendViewHolder recommendViewHolder= (RecommendViewHolder) holder;
recommendViewHolder.setData(resultBean.getRecommend_info());
}
else
if
(getItemViewType(position)==HOT){
HotViewHolder hotViewHolder= (HotViewHolder) holder;
hotViewHolder.setData(resultBean.getHot_info());
}
}
/**
* 推荐的viewholder
*/
class
RecommendViewHolder
extends
RecyclerView.ViewHolder{
TextView tv_more_remommend;
GridView gv_commend;
public
RecommendViewHolder(
final
Context context, View inflate) {
super
(inflate);
tv_more_remommend= (TextView) inflate.findViewById(R.id.tv_more_remommend);
gv_commend= (GridView) inflate.findViewById(R.id.gv_commend);
gv_commend.setOnItemClickListener(
new
AdapterView.OnItemClickListener() {
@Override
public
void
onItemClick(AdapterView<?> parent, View view,
int
position,
long
id) {
Toast.makeText(context,
"position=="
+position, Toast.LENGTH_SHORT).show();
startGoodsInfoActivity();
}
});
}
3
、 设置适配器,来显示数据
public
void
setData(List<ResultBeanData.ResultBean.RecommendInfoBean> recommend_info) {
RecommendAdapter adapter=
new
RecommendAdapter(context,recommend_info);
gv_commend.setAdapter(adapter);
}
}