package cn.com.basic.face.adapter; import android.graphics.Bitmap; import android.view.View; import android.widget.RadioButton; import android.widget.RelativeLayout; import android.widget.TextView; import com.bsk.zhangbo.demoforbsk.R; import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter; import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder; import com.facebook.drawee.view.SimpleDraweeView; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.query.item.VisitQueryItem; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.FileUtil; public class VisitFragment { public static class VisitLeftAdapter extends EasyRecyclerViewAdapter { private RadioButton lastRadioButton; private int lastIndex = -1; @Override public int[] getItemLayouts() { return new int[]{R.layout.fragment_visit_left_date_row,R.layout.fragment_visit_left_person_row,R.layout.load_more, R.layout.no_more, R.layout.reach_bottom}; } @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, final int position) { if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.reachBottom) { return; } if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.noMorePage) { return; } if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.hasMorePages) { TextView load_more_text_view = viewHolder.findViewById(R.id.load_more_text_view); load_more_text_view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cn.com.basic.face.fragment.VisitFragment.getInstance().addPageNum(); cn.com.basic.face.fragment.VisitFragment.getInstance().append(); } }); return; } if(!(getItem(position) instanceof String)) { final RadioButton fragment_visit_left_person_row_check_box = viewHolder.findViewById(R.id.fragment_visit_left_person_row_check_box); TextView fragment_visit_left_person_row_name = viewHolder.findViewById(R.id.fragment_visit_left_person_row_name); SimpleDraweeView fragment_visit_left_person_row_photo = viewHolder.findViewById(R.id.fragment_visit_left_person_row_photo); TextView fragment_visit_left_person_row_status = viewHolder.findViewById(R.id.fragment_visit_left_person_row_status); final VisitQueryItem item = getItem(position); RelativeLayout fragment_visit_left_relative_layout = viewHolder.findViewById(R.id.fragment_visit_left_relative_layout); fragment_visit_left_relative_layout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (lastRadioButton != null && lastRadioButton != fragment_visit_left_person_row_check_box) { lastRadioButton.setChecked(false); } lastRadioButton = fragment_visit_left_person_row_check_box; cn.com.basic.face.fragment.VisitFragment.getInstance().setVisitInfo(item); lastIndex = position; fragment_visit_left_person_row_check_box.setChecked(true); notifyDataSetChanged(); } }); fragment_visit_left_person_row_check_box.setChecked(false); if (lastIndex == position) { fragment_visit_left_person_row_check_box.setChecked(true); } fragment_visit_left_person_row_name.setText(item.getUsername()); fragment_visit_left_person_row_status.setText(item.getCurrentStatus()); if (item.getSurveillancePhoto() != null && !"".equals(item.getSurveillancePhoto())) { Bitmap bitmap = FileUtil.loadBitmap(item.getSurveillancePhoto()); if (bitmap != null) { fragment_visit_left_person_row_photo.setImageBitmap(bitmap); } else { fragment_visit_left_person_row_photo.setImageURI(AppApi.IMAGE_URL_BASE +item.getSurveillancePhoto()); } } else { fragment_visit_left_person_row_photo.setImageResource(R.drawable.u68); } View fragment_visit_left_line = viewHolder.findViewById(R.id.fragment_visit_left_line); fragment_visit_left_line.setVisibility(View.VISIBLE); if (position < (getListSize()-1) && (getItem(position+1) instanceof String)) { fragment_visit_left_line.setVisibility(View.GONE); } if (position == getListSize() - 1) { fragment_visit_left_line.setVisibility(View.GONE); } } else { TextView fragment_visit_left_date_row_date = viewHolder.findViewById(R.id.fragment_visit_left_date_row_date); fragment_visit_left_date_row_date.setText(getItem(position)+""); } } @Override public int getRecycleViewItemType(int position) { if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.reachBottom) { return 4; } if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.noMorePage) { return 3; } if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.hasMorePages) { return 2; } if(!(getItem(position) instanceof String)) { return 1; } return 0; } } }