package com.chinaztt.fda.test.ComInstance; import android.content.Context; 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.LinearLayout; import android.widget.TextView; import com.chinaztt.fda.ui.R; import java.util.ArrayList; import java.util.List; /** * 当前类注释: * 项目名:FastDev4Android * 包名:com.chinaztt.fda.test.ComInstance * 作者:江清清 on 15/11/28 09:50 * 邮箱:jiangqqlmj@163.com * QQ: 781931404 * 公司:江苏中天科技软件技术有限公司 */ public class AdvanceComInstanceAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private Context mContext; private List<AdvanceInstanceBean> mAdvanceInstanceBeans; private LayoutInflater mInflater; //布局新增一项类别 //普通ITEM private static final int ITEM_VIEW=1; //FOOT ITEM private static final int FOOT_VIEW=2; public AdvanceComInstanceAdapter(Context context,List<AdvanceInstanceBean> pAdvanceInstanceBeans){ this.mContext=context; this.mAdvanceInstanceBeans=pAdvanceInstanceBeans; mInflater=LayoutInflater.from(this.mContext); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == ITEM_VIEW) { final View view = mInflater.inflate(R.layout.advance_com_instance_item_layout, parent, false); return new ItemViewHolder(view); } else if (viewType == FOOT_VIEW) { View view = mInflater.inflate(R.layout.instance_load_more_layout, parent, false); return new FootViewHolder(view); } return null; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if(holder instanceof ItemViewHolder){ AdvanceInstanceBean advanceInstanceBean=mAdvanceInstanceBeans.get(position); if(advanceInstanceBean!=null){ final List<InstanceBean> instanceBeans=advanceInstanceBean.getInstanceBeans(); if(instanceBeans.size()==2){ ((ItemViewHolder) holder).item_img_one.setImageResource(instanceBeans.get(0).getImg()); ((ItemViewHolder)holder).item_tv_one.setText(instanceBeans.get(0).getTitle()); ((ItemViewHolder) holder).item_img_two.setImageResource(instanceBeans.get(1).getImg()); ((ItemViewHolder)holder).item_tv_two.setText(instanceBeans.get(1).getTitle()); ((ItemViewHolder) holder).leftL.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener != null) { onItemClickListener.onItemClick(instanceBeans.get(0)); } } }); ((ItemViewHolder) holder).rightL.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(onItemClickListener!=null){ onItemClickListener.onItemClick(instanceBeans.get(1)); } } }); }else { ((ItemViewHolder) holder).item_img_one.setImageResource(instanceBeans.get(0).getImg()); ((ItemViewHolder)holder).item_tv_one.setText(instanceBeans.get(0).getTitle()); ((ItemViewHolder) holder).item_img_two.setImageResource(R.drawable.moren); ((ItemViewHolder)holder).item_tv_two.setText(""); } } }else if(holder instanceof FootViewHolder){ //上拉加载更多布局数据绑定 } } @Override public int getItemViewType(int position) { if (position + 1 == getItemCount()) { return FOOT_VIEW; } else { return ITEM_VIEW; } } @Override public int getItemCount() { return mAdvanceInstanceBeans.size()+1; } /** * Item 点击监听回调接口 */ public interface OnItemClickListener { /** * item回调的数据 * @param instanceBean */ void onItemClick(InstanceBean instanceBean); } private OnItemClickListener onItemClickListener; public OnItemClickListener getOnItemClickListener() { return onItemClickListener; } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } public static class ItemViewHolder extends RecyclerView.ViewHolder{ private LinearLayout leftL,rightL; private ImageView item_img_one; private TextView item_tv_one; private ImageView item_img_two; private TextView item_tv_two; public ItemViewHolder(View itemView) { super(itemView); leftL=(LinearLayout)itemView.findViewById(R.id.leftL); rightL=(LinearLayout)itemView.findViewById(R.id.rightL); item_img_one=(ImageView)itemView.findViewById(R.id.item_img_one); item_tv_one=(TextView)itemView.findViewById(R.id.item_tv_one); item_img_two=(ImageView)itemView.findViewById(R.id.item_img_two); item_tv_two=(TextView)itemView.findViewById(R.id.item_tv_two); } } /** * 底部FootView布局 */ public static class FootViewHolder extends RecyclerView.ViewHolder{ private TextView foot_view_item_tv; public FootViewHolder(View view) { super(view); foot_view_item_tv=(TextView)view.findViewById(R.id.foot_view_item_tv); } } /** * 进行下拉刷新数据添加 并且刷新UI * @param pInstanceBeans */ public void addRefreshBeans(List<AdvanceInstanceBean> pInstanceBeans){ List<AdvanceInstanceBean> temp=new ArrayList<AdvanceInstanceBean>(); temp.addAll(pInstanceBeans); temp.addAll(mAdvanceInstanceBeans); mAdvanceInstanceBeans.removeAll(mAdvanceInstanceBeans); mAdvanceInstanceBeans.addAll(temp); notifyDataSetChanged(); } /** * 进行上拉加载更多 并且刷新UI * @param pInstanceBeans */ public void addMoreBeans(List<AdvanceInstanceBean> pInstanceBeans){ mAdvanceInstanceBeans.addAll(pInstanceBeans); notifyDataSetChanged(); } }