DianBoRVAdapter.java
5.87 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
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.EventType;
import com.cnlive.goldenline.model.response.ThreatreInfoResponse;
import com.cnlive.goldenline.model.response.bean.RelativeVideoDemandListBean;
import com.cnlive.goldenline.model.response.bean.VideoDemandBean;
import com.cnlive.goldenline.ui.adapter.viewholder.CommentTitleViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.CommentViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.DianBoInfoViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.DividerViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.InterActionGridViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.RelativeVideoDemandListHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.SingleButtonViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.TheatreBasicInfoViewHolder;
import com.cnlive.goldenline.ui.base.BaseRecyclerAdapter;
import com.cnlive.goldenline.ui.model.CommentBean;
import com.cnlive.goldenline.ui.model.CommentTitleBean;
import com.cnlive.goldenline.ui.model.DividerBean;
import com.cnlive.goldenline.ui.model.RecyclerViewNormalBean;
import com.cnlive.goldenline.ui.model.SingleButtonBean;
import java.util.List;
/**
* Description:点播详情适配器
* Created on 2017/3/20
* Author : 萧
*/
public class DianBoRVAdapter extends BaseRecyclerAdapter<RecyclerViewNormalBean> {
private static final String TAG = "DianBoRVAdapter";
public DianBoRVAdapter(Context context) {
super(context);
}
@Override
public int getItemViewType(int position) {
return getItem(position).getDataType();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
// LogUtils.LOGE(TAG + " onCreateViewHolder viewType = " + viewType);
switch (viewType) {
case ViewType.TYPE_DIVIDER:
view = inflater.inflate(R.layout.layout_divider, parent, false);
return new DividerViewHolder(view);
case ViewType.TYPE_DIANBO:
view = inflater.inflate(R.layout.layout_dianboinfo, parent, false);
return new DianBoInfoViewHolder(view);
case ViewType.TYPE_THEATREBASICINFO:
view = inflater.inflate(R.layout.layout_theatre_basicinfo, parent, false);
return new TheatreBasicInfoViewHolder(view);
case ViewType.TYPE_COMMENT_TITLE:
view = inflater.inflate(R.layout.layout_comment_title, parent, false);
return new CommentTitleViewHolder(view);
case ViewType.TYPE_COMMENT:
view = inflater.inflate(R.layout.layout_comment_item, parent, false);
return new CommentViewHolder(view);
case ViewType.TYPE_OTHER:
view = inflater.inflate(R.layout.layout_single_button, parent, false);
return new SingleButtonViewHolder(view);
case ViewType.TYPE_INTERACTION:
view = inflater.inflate(R.layout.layout_interaction_info, parent, false);
return new InterActionGridViewHolder(view);
case ViewType.TYPE_RECOMMEND:
view = inflater.inflate(R.layout.layout_subscribeshow_recommendliveshow_item, parent, false);
return new RelativeVideoDemandListHolder(view);
}
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
RecyclerViewNormalBean data = getItem(position);
// LogUtils.LOGE(TAG + " onBindViewHolder data = " + data + " holder = " + holder + " position = " + position);
try {
if (holder instanceof DividerViewHolder) {
DividerViewHolder dividerViewHolder = (DividerViewHolder) holder;
dividerViewHolder.show(mContext, (DividerBean) data.getT());
} else if (holder instanceof SingleButtonViewHolder) {
SingleButtonViewHolder btnHolder = (SingleButtonViewHolder) holder;
btnHolder.show("", R.mipmap.dianbo_icon_dashang, 0, EventType.EVENT_DASHANG);
} else if (holder instanceof CommentViewHolder) {
CommentViewHolder commentHolder = (CommentViewHolder) holder;
commentHolder.show(mContext, (CommentBean) data.getT());
} else if (holder instanceof CommentTitleViewHolder) {
CommentTitleViewHolder titleHolder = (CommentTitleViewHolder) holder;
titleHolder.show(mContext, (CommentTitleBean) data.getT());
} else if (holder instanceof InterActionGridViewHolder) {
InterActionGridViewHolder interActionHolder = (InterActionGridViewHolder) holder;
interActionHolder.show(mContext, (List<String>) data.getT());
} else if (holder instanceof RelativeVideoDemandListHolder) {
RelativeVideoDemandListHolder viewHolder = (RelativeVideoDemandListHolder) holder;
viewHolder.show(mContext, (RelativeVideoDemandListBean) data.getT(), position);
} else if (holder instanceof TheatreBasicInfoViewHolder) {
TheatreBasicInfoViewHolder viewHolder = (TheatreBasicInfoViewHolder) holder;
viewHolder.show(mContext, (ThreatreInfoResponse) data.getT(), position);
} else if (holder instanceof DianBoInfoViewHolder) {
DianBoInfoViewHolder viewHolder = (DianBoInfoViewHolder) holder;
viewHolder.show(mContext, data.isCollected(), (VideoDemandBean) data.getT(), position);
viewHolder.show(mContext, (VideoDemandBean) data.getT(), position);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}