SerchRsultRecyclerAdapter.java
5.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.cnlive.goldenline.ui.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import com.cnlive.goldenline.R;
import com.cnlive.goldenline.model.home.KeywordsearchBean;
import com.cnlive.goldenline.model.response.bean.LiveShowBean;
import com.cnlive.goldenline.model.response.bean.VideoDemandBean;
import com.cnlive.goldenline.ui.activity.DianBoPlayerActivity;
import com.cnlive.goldenline.ui.activity.LiveShowActivity;
import com.cnlive.goldenline.ui.activity.SubscribeShowActivity;
import com.cnlive.goldenline.ui.activity.TheatreInfoActivity;
import com.cnlive.goldenline.ui.adapter.viewholder.AppointmentHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.FindgoodplayViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.LiveshowContentHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.PgcListViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.SerchEmptyHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.TextSigleViewHolder;
import com.cnlive.goldenline.ui.base.BaseRecyclerAdapter;
import com.cnlive.goldenline.ui.model.RecyclerViewNormalBean;
/**
* @author 陈硕
* @time 2017/4/9 17:04
* @desc ${TODD}
*/
public class SerchRsultRecyclerAdapter extends BaseRecyclerAdapter<RecyclerViewNormalBean> {
private Context context;
public SerchRsultRecyclerAdapter(Context context) {
super(context);
this.context = context;
}
@Override
public int getItemViewType(int position) {
RecyclerViewNormalBean recyclerViewNormalBean = mItems.get(position);
return recyclerViewNormalBean.getDataType();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
RecyclerView.ViewHolder viewHolder = null;
switch (viewType) {
case 0://标题
View inflate4 = inflater.inflate(R.layout.recycle_serch_text, parent, false);
viewHolder = new TextSigleViewHolder(inflate4);
break;
case 1://订阅号
View inflate0 = inflater.inflate(R.layout.recycler_pgc, parent, false);
viewHolder = new PgcListViewHolder(inflate0);
break;
case 2:// 推荐直播
View inflate = inflater.inflate(R.layout.layout_liveshow_content, parent, false);
viewHolder = new LiveshowContentHolder(inflate);
break;
case 3:// 重磅预约
View inflate1 = inflater.inflate(R.layout.layout_intensity_order, parent, false);
viewHolder = new AppointmentHolder(inflate1);
break;
case 4:// 发现好剧
View inflate2 = inflater.inflate(R.layout.layout_findgoodplay, parent, false);
viewHolder = new FindgoodplayViewHolder(inflate2);
break;
case 5:// 空view
View inflate5 = inflater.inflate(R.layout.layout_empty_view, parent, false);
viewHolder = new SerchEmptyHolder(inflate5);
break;
}
return viewHolder;
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
RecyclerViewNormalBean item = getItem(position);
if (holder instanceof PgcListViewHolder) {
final KeywordsearchBean.PgcListBean pgcListBean = (KeywordsearchBean.PgcListBean) item.getT();
((PgcListViewHolder) holder).show(context, pgcListBean, position);
((PgcListViewHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TheatreInfoActivity.startActivity(context,pgcListBean.getTheatreId());
}
});
} else if (holder instanceof LiveshowContentHolder) {
final LiveShowBean onLineLiveListBean = (LiveShowBean) item.getT();
((LiveshowContentHolder) holder).show(context, onLineLiveListBean);
((LiveshowContentHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LiveShowActivity.start(context, onLineLiveListBean);
}
});
} else if (holder instanceof AppointmentHolder) {
final LiveShowBean appointmentListBean = (LiveShowBean) item.getT();
((AppointmentHolder) holder).tv_ordercount.setVisibility(View.GONE);
((AppointmentHolder) holder).show(context, appointmentListBean);
((AppointmentHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SubscribeShowActivity.start(context, appointmentListBean);
}
});
} else if (holder instanceof FindgoodplayViewHolder) {
final VideoDemandBean videoDemandListBean = (VideoDemandBean) item.getT();
((FindgoodplayViewHolder) holder).show(context, videoDemandListBean, position);
((FindgoodplayViewHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DianBoPlayerActivity.start(context,videoDemandListBean);
}
});
} else if (holder instanceof TextSigleViewHolder) {
String s = (String) item.getT();
((TextSigleViewHolder) holder).show(context, s, position);
}
}
}