From b7fd23fb1b9d04eb8fa0d97a5d9747e145605612 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 03 五月 2017 14:33:42 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java | 158 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 116 insertions(+), 42 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java index 3df026f..db65956 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java @@ -15,18 +15,18 @@ import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.query.item.CheckInQueryItem; -import cn.com.basic.face.discern.query.item.FacePhotoItem; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; import cn.com.basic.face.fragment.*; import cn.com.basic.face.util.AppApi; +import cn.com.basic.face.util.BitmapUtil; import cn.com.basic.face.util.Constant; import cn.com.basic.face.util.WindowsUtil; public class SurveillanceFragment { - public static class SurveillanceBottomListViewAdapter extends EasyRecyclerViewAdapter { + public static class SurveillanceBottomVisitorListViewAdapter extends EasyRecyclerViewAdapter { private Context context; - public SurveillanceBottomListViewAdapter(Context context) { + public SurveillanceBottomVisitorListViewAdapter(Context context) { this.context = context; } @@ -37,7 +37,7 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { - switch (((SurveillanceQueryItem)getList().get(position)).getType()){ + switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()){ case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE: RegisterCellViewFillData(viewHolder,position); break; @@ -49,7 +49,7 @@ @Override public int getRecycleViewItemType(int position) { - switch (((SurveillanceQueryItem)getList().get(position)).getType()) { + switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()) { case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE: return Constant.Surveillance.REGISTER_CELL_VIEW_INDEX; case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE: @@ -61,14 +61,14 @@ } /** - * 璁垮->浜哄憳娉ㄥ唽 + * 浜哄憳娉ㄥ唽 */ private void RegisterCellViewFillData(EasyRecyclerViewHolder holder, int position){ RelativeLayout mLayout = holder.findViewById(R.id.fragment_home_bottom_register_cell_relative_layout); ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams(); - layoutParams.height = WindowsUtil.dip2px(context, 127); - layoutParams.width = WindowsUtil.dip2px(context, 104); + layoutParams.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);//WindowsUtil.dip2px(context, 127); + layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);//WindowsUtil.dip2px(context, 122); mLayout.setLayoutParams(layoutParams); final Object data = this.getItem(position); @@ -82,28 +82,36 @@ if (item.getImagePath() != null && !item.getImagePath().equals("")) { fragment_home_bottom_register_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath())); } else { - fragment_home_bottom_register_cell_photo.setImageResource(R.drawable.u45); + if (item.getBitmap() != null) { + fragment_home_bottom_register_cell_photo.setImageBitmap(item.getBitmap()); + } else { + fragment_home_bottom_register_cell_photo.setImageResource(R.drawable.u45); + } } fragment_home_bottom_register_cell_to_register.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { MainActivity.selectPage(1); - RegisterFragment.getInstance().setRegisterInfo(getVo(item)); + //RegisterFragment.getInstance().setRegisterInfo(getVo(item));//java.lang.OutOfMemoryError: Failed to allocate a 25338980 byte allocation with 15827186 free bytes and 15MB until OOM + //if(item.getBitmap() != null) { + // RegisterFragment.getInstance().setChoosePhoto(item.getBitmap()); + // RegisterFragment.getInstance().setSurveillanceQueryItem(item); + //} } }); } } /** - * 璁垮->鏉ヨ鐧昏 + * 鏉ヨ鐧昏 */ private void checkInCellViewFillData(EasyRecyclerViewHolder holder, int position){ RelativeLayout mLayout = holder.findViewById(R.id.fragment_supervisory_bottom_visitor_cell_relative_layout); ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams(); layoutParams.height = WindowsUtil.dip2px(context, 127); - layoutParams.width = WindowsUtil.dip2px(context, 104); + layoutParams.width = WindowsUtil.dip2px(context, 122); mLayout.setLayoutParams(layoutParams); ImageView fragment_home_bottom_visitor_cell_photo = (ImageView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_photo); @@ -111,36 +119,36 @@ TextView fragment_home_bottom_visitor_cell_name = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_name); TextView fragment_home_bottom_visitor_cell_status = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_status); + Object data = this.getItem(position); - if (data instanceof FacePhotoItem) { - final FacePhotoItem item = (FacePhotoItem) data; - - if (item.getWarning().length() > 0 && "鏉ヨ鐧昏".equals(item.getStatus())) { - //warningTv.setText("璀﹀憡"); - fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE); - } else { - fragment_home_bottom_visitor_cell_warning.setVisibility(View.GONE); - } - - - fragment_home_bottom_visitor_cell_name.setText(item.getName()); - - fragment_home_bottom_visitor_cell_status.setText(item.getStatus()); - if ("鏉ヨ鐧昏".equals(item.getStatus())) { - fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview)); - - fragment_home_bottom_visitor_cell_status.setHeight((int)(context.getResources().getDisplayMetrics().density * 45)); - fragment_home_bottom_visitor_cell_status.setOnClickListener(new View.OnClickListener(){ - @Override - public void onClick(View view) { - MainActivity.selectPage(2); - } - }); - } else { - fragment_home_bottom_visitor_cell_status.setBackground(null); - fragment_home_bottom_visitor_cell_status.setOnClickListener(null); - } - } +// if (data instanceof FacePhotoItem) { +// final FacePhotoItem item = (FacePhotoItem) data; +// +// if (item.getWarning().length() > 0 && "鏉ヨ鐧昏".equals(item.getStatus())) { +// //warningTv.setText("璀﹀憡"); +// fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE); +// } else { +// fragment_home_bottom_visitor_cell_warning.setVisibility(View.GONE); +// } +// +// fragment_home_bottom_visitor_cell_name.setText(item.getName()); +// +// fragment_home_bottom_visitor_cell_status.setText(item.getStatus()); +// if ("鏉ヨ鐧昏".equals(item.getStatus())) { +// fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview)); +// +// fragment_home_bottom_visitor_cell_status.setHeight((int)(context.getResources().getDisplayMetrics().density * 45)); +// fragment_home_bottom_visitor_cell_status.setOnClickListener(new View.OnClickListener(){ +// @Override +// public void onClick(View view) { +// MainActivity.selectPage(2); +// } +// }); +// } else { +// fragment_home_bottom_visitor_cell_status.setBackground(null); +// fragment_home_bottom_visitor_cell_status.setOnClickListener(null); +// } +// } fragment_home_bottom_visitor_cell_name.setText(""); if (data instanceof SurveillanceQueryItem) { @@ -150,7 +158,11 @@ if (item.getImagePath() != null && !item.getImagePath().equals("")) { fragment_home_bottom_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath())); } else { - fragment_home_bottom_visitor_cell_photo.setImageResource(R.drawable.u45); + if (item.getBitmap() != null) { + fragment_home_bottom_visitor_cell_photo.setImageBitmap(item.getBitmap()); + } else { + fragment_home_bottom_visitor_cell_photo.setImageResource(R.drawable.u45); + } } if (1==1) { fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview)); @@ -163,9 +175,19 @@ cn.com.basic.face.fragment.CheckInFragment.getInstance(). getFragment_check_in_right_visitor_cell() .setVisitorInfo(getVo(item)); + if (item.getBitmap() != null && (item.getImagePath() == null || "".equals(item.getImagePath()))) { + cn.com.basic.face.fragment.CheckInFragment.getInstance(). + getFragment_check_in_right_visitor_cell().setPhoto(item.getBitmap()); + } } }); } + if (item.getWarning() != null && "1".equals(item.getWarning())) { + fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE); + } else { + fragment_home_bottom_visitor_cell_warning.setVisibility(View.INVISIBLE); + } + } } @@ -179,4 +201,56 @@ } } + public static class SurveillanceBottomAttendanceListViewAdapter extends EasyRecyclerViewAdapter { + private Context context; + public SurveillanceBottomAttendanceListViewAdapter(Context context) { + this.context = context; + } + + @Override + public int[] getItemLayouts() { + return new int[]{R.layout.fragment_surveillance_bottom_attendance_cell, R.layout.fragment_surveillance_bottom_attendance_blank_cell}; + } + + @Override + public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { + RelativeLayout mLayout = viewHolder.findViewById(R.id.fragment_supervisory_bottom_attendance_cell_relative_layout); + ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams(); + layoutParams.height = WindowsUtil.dip2px(context, 127); + layoutParams.width = WindowsUtil.dip2px(context, 122); + mLayout.setLayoutParams(layoutParams); + + ImageView fragment_home_bottom_attendance_cell_photo = (ImageView) mLayout.findViewById(R.id.fragment_home_bottom_attendance_cell_photo); + TextView fragment_home_bottom_attendance_cell_name = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_attendance_cell_name); + TextView fragment_home_bottom_attendance_cell_status = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_attendance_cell_status); + + Object data = this.getItem(position); + + fragment_home_bottom_attendance_cell_name.setText(""); + if (data instanceof SurveillanceQueryItem) { + final SurveillanceQueryItem item = (SurveillanceQueryItem)data; + fragment_home_bottom_attendance_cell_name.setText(item.getUsername()); + + if (item.getImagePath() != null && !item.getImagePath().equals("")) { + fragment_home_bottom_attendance_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath())); + } else { + if (item.getBitmap() != null) { + fragment_home_bottom_attendance_cell_photo.setImageBitmap(item.getBitmap()); + } else { + fragment_home_bottom_attendance_cell_photo.setImageResource(R.drawable.u45); + } + } + fragment_home_bottom_attendance_cell_status.setText(item.getStatus()); + } + } + + @Override + public int getRecycleViewItemType(int position) { + return 0; + } + + private CheckInQueryItem getVo(SurveillanceQueryItem item) { + return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class); + } + } } -- Gitblit v1.8.0