recyclerView多条目布局

来源:互联网 发布:windows 安全 编辑:程序博客网 时间:2024/06/05 03:22
package com.cardiar.doctor_app.view.adapter;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;import com.bumptech.glide.Glide;import com.cardiar.doctor_app.R;import com.cardiar.doctor_app.modle.bean.Bean_Me.Bean_center;import com.cardiar.doctor_app.view.activity.Activity_Me;import com.cardiar.doctor_app.view.activity.Activity_attention;import java.util.ArrayList;import butterknife.ButterKnife;import butterknife.InjectView;/** * 我的关注--------Adapter------- * Created by 马占柱 on 2017/6/7. */public class Center_re_adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener {    private int[] icons;    private ArrayList<Activity> list;    private Context context;    private Bean_center.DataBean bean;    private String[] str;    //item类型    public static final int ITEM_TYPE_HEADER = 0;    public static final int ITEM_TYPE_CONTENT = 1;    public static final int ITEM_TYPE_BOTTOM = 2;    private int mHeaderCount = 1;//头部View个数    //    private int mBottomCount = 1;//底部View个数    private View headView;//头布局    private View view_item;//item布局    public Center_re_adapter(Context context, Bean_center bean, String[] str, ArrayList<Activity> lists, int[] icons) {        this.context = context;        this.bean = bean.getData();        this.str = str;        this.list = lists;        this.icons = icons;    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        headView = LayoutInflater.from(context).inflate(R.layout.fragment_center_head, parent, false);        view_item = LayoutInflater.from(context).inflate(R.layout.fragment_center_item, parent, false);        if (viewType == ITEM_TYPE_HEADER) {            return new Head_Holder(headView);        } else if (viewType == ITEM_TYPE_CONTENT) {            return new NormalViewhodler(view_item);        } else if (viewType == ITEM_TYPE_BOTTOM) {        }        return null;    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {        if (holder instanceof Head_Holder) {            Head_Holder head = (Head_Holder) holder;            //头布局            Glide.with(context).load(bean.getImg_url()).into(head.centerMesImag);            head.centerMesImag.setScaleType(ImageView.ScaleType.CENTER_INSIDE);            head.centerMesName.setText(bean.getDoctorname());            head.centerMesHos.setText(bean.getDoc_hospital());            head.centerMesPress.setText(bean.getDoc_professor());            head.centerFans.setText(bean.getAtt_usenum());            head.centerFocus.setText(bean.getAtt_docnum());            head.center_message.setOnClickListener(this);            head.center_fensi.setOnClickListener(this);            head.center_guanzhu.setOnClickListener(this);        } else {            final int num = position - mHeaderCount;//因为有头布局,所以需要减去头的数量            NormalViewhodler hd = (NormalViewhodler) holder;            hd.centerItemText.setText(str[num]);            hd.centerItemImag.setImageResource(icons[num]);            //显示有消息小圆圈            if (str[num].equals("我收到的消息")) {                if (bean.getXx().equals("1")) {                    hd.center_jiantou.setVisibility(View.INVISIBLE);                    hd.me_imag2.setVisibility(View.INVISIBLE);                    hd.meImag1.setVisibility(View.VISIBLE);                } else {                    hd.me_imag2.setVisibility(View.INVISIBLE);                    hd.meImag1.setVisibility(View.INVISIBLE);                    hd.center_jiantou.setVisibility(View.VISIBLE);                }            } else {                if (str[num].equals("咨询")) {                    if (bean.getHzxx().equals("0")){                        hd.me_imag2.setVisibility(View.INVISIBLE);                        hd.meImag1.setVisibility(View.INVISIBLE);                        hd.center_jiantou.setVisibility(View.VISIBLE);                    }else {                        hd.center_jiantou.setVisibility(View.INVISIBLE);                        hd.meImag1.setVisibility(View.INVISIBLE);                        hd.me_imag2.setVisibility(View.VISIBLE);                        hd.me_imag2.setText(bean.getHzxx());                    }                }else {                    hd.me_imag2.setVisibility(View.INVISIBLE);                    hd.meImag1.setVisibility(View.INVISIBLE);                    hd.center_jiantou.setVisibility(View.VISIBLE);                }            }            hd.itemView.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    Activity activity = list.get(num);                    context.startActivity(new Intent(context, activity.getClass()));                }            });        }    }    @Override    public int getItemCount() {        return mHeaderCount + getContentItemCount();    }    //判断当前item类型    @Override    public int getItemViewType(int position) {        if (mHeaderCount != 0 && position < mHeaderCount) {            //头部View            return ITEM_TYPE_HEADER;        } else {            //内容View            return ITEM_TYPE_CONTENT;        }    }    //内容长度    public int getContentItemCount() {        return str.length;    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.center_message:                //医生信息                context.startActivity(new Intent(context, Activity_Me.class));                break;            case R.id.center_fensi:                //我的粉丝//                context.startActivity(new Intent(context, Activity_attention.class));                break;            case R.id.center_guanzhu:                //我的关注                context.startActivity(new Intent(context, Activity_attention.class));                break;        }    }    class Head_Holder extends RecyclerView.ViewHolder {        @InjectView(R.id.center_mes_name)        TextView centerMesName;        @InjectView(R.id.center_mes_hos)        TextView centerMesHos;        @InjectView(R.id.center_mes_press)        TextView centerMesPress;        @InjectView(R.id.center_focus)        TextView centerFocus;        @InjectView(R.id.center_fans)        TextView centerFans;        @InjectView(R.id.center_mes_imag)        ImageView centerMesImag;        @InjectView(R.id.center_message)        RelativeLayout center_message;        @InjectView(R.id.center_guanzhu)        RelativeLayout center_guanzhu;        @InjectView(R.id.center_fensi)        RelativeLayout center_fensi;        Head_Holder(View view) {            super(view);            ButterKnife.inject(this, view);        }    }    class NormalViewhodler extends RecyclerView.ViewHolder {        @InjectView(R.id.center_item_text)        TextView centerItemText;        @InjectView(R.id.center_item)        RelativeLayout centerItem;        @InjectView(R.id.center_item_imag)        ImageView centerItemImag;        @InjectView(R.id.me_imag1)        TextView meImag1;//消息小圆圈        @InjectView(R.id.center_jiantou)        ImageView center_jiantou;        @InjectView(R.id.me_imag2)        TextView me_imag2;        NormalViewhodler(View view) {            super(view);            ButterKnife.inject(this, view);        }    }}

原创粉丝点击