LiveShowUnOrderRecyclerAdapter.java 3.19 KB
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.response.ThreatreInfoResponse;
import com.cnlive.goldenline.ui.adapter.viewholder.EmptyViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.InterActionGridViewHolder;
import com.cnlive.goldenline.ui.adapter.viewholder.LiveShowDetailViewHolder;
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.RecyclerViewNormalBean;
import com.cnlive.goldenline.ui.model.SingleButtonBean;

import java.util.List;

/**
 * Description:
 * Created on 2017/4/1
 * Author : 萧
 */
public class LiveShowUnOrderRecyclerAdapter extends BaseRecyclerAdapter<RecyclerViewNormalBean> {

    public LiveShowUnOrderRecyclerAdapter(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;
        switch (viewType) {
            case ViewType.TYPE_ONAIR:
                view = inflater.inflate(R.layout.layout_liveshow_detailinfo, parent, false);
                return new LiveShowDetailViewHolder(view);
            case ViewType.TYPE_THEATREBASICINFO:
                view = inflater.inflate(R.layout.layout_theatre_basicinfo, parent, false);
                return new TheatreBasicInfoViewHolder(view);
            case ViewType.TYPE_INTERACTION:
                view = inflater.inflate(R.layout.layout_interaction_info, parent, false);
                return new InterActionGridViewHolder(view);
            case ViewType.TYPE_OTHER:
                view = inflater.inflate(R.layout.layout_single_button, parent, false);
                return new SingleButtonViewHolder(view);
            default:
                return new EmptyViewHolder(null);
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        RecyclerViewNormalBean t = getItem(position);
        if (holder instanceof LiveShowDetailViewHolder) {
            LiveShowDetailViewHolder viewHolder = (LiveShowDetailViewHolder) holder;
            viewHolder.show(mContext, t, position);
        } else if (holder instanceof TheatreBasicInfoViewHolder) {
            TheatreBasicInfoViewHolder viewHolder = (TheatreBasicInfoViewHolder) holder;
            viewHolder.show(mContext, (ThreatreInfoResponse) t.getT(), position);
        } else if (holder instanceof SingleButtonViewHolder) {
            SingleButtonViewHolder viewHolder = (SingleButtonViewHolder) holder;
            viewHolder.show(mContext, (SingleButtonBean) t.getT(), position);
        } else if (holder instanceof InterActionGridViewHolder) {
            InterActionGridViewHolder viewHolder = (InterActionGridViewHolder) holder;
            viewHolder.show(mContext, (List<String>) t.getT());
        }
    }
}