recyclerView多条目布局

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);
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值