package com.bsk.zhangbo.demoforbsk.adapter; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.AsyncTask; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import com.bsk.zhangbo.demoforbsk.R; import com.bsk.zhangbo.demoforbsk.ui.activity.MainActivity; import com.bsk.zhangbo.demoforbsk.ui.fragment.VisitorRegisterFragment; import com.bsk.zhangbo.demoforbsk.util.AppApi; import com.bsk.zhangbo.demoforbsk.util.Constant; import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter; import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder; import com.facebook.drawee.view.SimpleDraweeView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import java.io.InputStream; import java.util.List; import cn.com.basic.face.discern.query.item.VisitorQueryItem; /** * Created by Sinoe on 2017/2/23. */ public class VisitorRecyclerViewAdapter extends EasyRecyclerViewAdapter { private Context mContext; private int type, mTypeColor; private List list; private TextView mTvName, mTvDepartment; public static final int TYPE_NAME = 10000; public static final int TYPE_DEPARTMENT = 10001; private TextView mToNameTv; private TextView mToDepartmentTv; private ImageLoader imageLoader = null; private DisplayImageOptions options = null; public VisitorRecyclerViewAdapter(Context mContext, int type) { this.mContext = mContext; this.type = type; options = new DisplayImageOptions.Builder() // .showImageOnLoading(R.drawable.zhanwei) // .showImageForEmptyUri(R.drawable.zhanwei) // .showImageOnFail(R.drawable.zhanwei).cacheInMemory(false) .cacheOnDisc(true).considerExifParams(true) .displayer(new FadeInBitmapDisplayer(500)) .bitmapConfig(Bitmap.Config.ALPHA_8) // default 设置图片的解码类型 .build(); imageLoader = ImageLoader.getInstance(); imageLoader.init(ImageLoaderConfiguration.createDefault(MainActivity.getInstance())); } @Override public int[] getItemLayouts() { return new int[]{R.layout.item_visitor_from, R.layout.item_visitor_to}; } @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { switch (type) { case Constant.VISITOR_FROM: VisitorFromViewHolder(viewHolder, position); break; case Constant.VISITOR_TO: VisitorToViewHolder(viewHolder, position); break; } } @Override public int getRecycleViewItemType(int position) { switch (type) { case Constant.VISITOR_FROM: return 0; case Constant.VISITOR_TO: return 1; default: return 1; } } /** * 来访人Holder * * @param holder * @param posistion */ private void VisitorFromViewHolder(EasyRecyclerViewHolder holder, final int posistion) { LinearLayout mLayout = holder.findViewById(R.id.item_visitor_from_base); TextView nameTv = (TextView)mLayout.findViewById(R.id.item_visitor_name); SimpleDraweeView photoIv = (SimpleDraweeView) mLayout.findViewById(R.id.item_visitor_photo); RelativeLayout itemVisitorFromRl = (RelativeLayout)mLayout.findViewById(R.id.item_visitor_from_rl); itemVisitorFromRl.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { Object data = getList().get(posistion); if (data instanceof VisitorQueryItem) { VisitorQueryItem item = (VisitorQueryItem) data; VisitorRegisterFragment.getInstance().setVisitorInfo(item); } } }); nameTv.setText(""); Object data = getList().get(posistion); if (data instanceof VisitorQueryItem) { VisitorQueryItem item = (VisitorQueryItem) data; nameTv.setText(item.getName()); photoIv.setImageURI(Uri.parse("https://i.imgur.com/tGbaZCY.jpg")); } ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams(); mLayout.setLayoutParams(layoutParams); } /** * 被访问Holder * * @param holder * @param posistion */ private void VisitorToViewHolder(EasyRecyclerViewHolder holder, final int posistion) { mTvName = holder.findViewById(R.id.item_visitor_to_name); mToNameTv = (TextView) mTvName.findViewById(R.id.item_visitor_to_name); mToDepartmentTv = (TextView) mTvName.findViewById(R.id.item_visitor_to_department); mTvDepartment = holder.findViewById(R.id.item_visitor_to_department); Object data = getList().get(posistion); if (data instanceof VisitorQueryItem) { VisitorQueryItem item = (VisitorQueryItem) data; mToNameTv.setText(item.getName()); mTvDepartment.setText(item.getDeptName()); } RelativeLayout itemVisitorToRl = (RelativeLayout) holder.findViewById(R.id.item_visitor_to_rl); itemVisitorToRl.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { Object data = getList().get(posistion); if (data instanceof VisitorQueryItem) { VisitorQueryItem item = (VisitorQueryItem) data; VisitorRegisterFragment.getInstance().setIntervieweeInfo(item); } } }); if (mTypeColor == TYPE_DEPARTMENT) { mTvName.setTextColor(mContext.getResources().getColor(R.color.colorText_b)); mTvDepartment.setTextColor(mContext.getResources().getColor(R.color.colorText_5)); } else { mTvName.setTextColor(mContext.getResources().getColor(R.color.colorText_5)); mTvDepartment.setTextColor(mContext.getResources().getColor(R.color.colorText_b)); } } public void setVisitorToColor(int type) { this.mTypeColor = type; } // public void setVisitorToTextColor(int type){ // switch (type){ // case TYPE_DEPARTMENT: // mTvName.setTextColor(mContext.getResources().getColor(R.color.colorText_b)); // mTvDepartment.setTextColor(mContext.getResources().getColor(R.color.colorText_5)); // notifyDataSetChanged(); // break; // case TYPE_NAME: // mTvName.setTextColor(mContext.getResources().getColor(R.color.colorText_5)); // mTvDepartment.setTextColor(mContext.getResources().getColor(R.color.colorText_b)); // notifyDataSetChanged(); // break; // } // } }