xuxiuxi
2017-08-01 21e08324c323d0c5d1e7cedc36323c554857a239
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/VisitFragment.java
@@ -1,35 +1,123 @@
package cn.com.basic.face.adapter;
import android.widget.CheckBox;
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};
            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, int position) {
        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;
        }
    }
}