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); } }}
阅读全文
0 0
- recyclerView多条目布局
- Recyclerview布局多条目加载+上下拉
- RecyclerView的多条目加载,添加头布局
- RecyclerView多条目
- RecyclerView多条目展示
- RecyclerView多条目加载
- RecyclerView多条目加载
- RecyclerView多条目
- RecyclerView简单多条目
- RecyclerView(多条目)
- RecyclerView 多条目加载
- RecyclerView多条目加载
- RecyclerView多条目展示
- Recyclerview多条目+tablayout
- RecyclerView多条目模版
- recyclerview多条目加载
- recyclerView 多条目视图
- RecyclerView多条目
- leetcode 498. Diagonal Traverse 矩阵对角遍历
- 如何安装3.6版本的scikit-learn(windows 7 64bit)
- Linux-SSH:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
- jquery select默认选中 jquery checkbox默认选中 jquery radio默认选中
- Tomcat在Linux上的安装与配置
- recyclerView多条目布局
- 线上性能问题排查工具btrace使用例子
- 网络基础之网桥和交换机的工作原理及区别
- set serveroutput on 命令
- DB2小知识
- linux如何杀死可以自动启动的程序
- js对手机软键盘的监听
- 从键盘中输入一个整数n,求1-n的和,以及偶数和、奇数和
- JavaSE 反射 Part7