FolderItemAdapter.java 4.55 KB
package com.sw.laryngoscope.adapter;

import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.recyclerview.widget.RecyclerView;

import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.fragment.archive.FileListMg;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.db.FolderItemBean;
import com.sw.laryngoscope.utils.Logger;

import java.util.List;

public class FolderItemAdapter extends RecyclerView.Adapter<FolderItemAdapter.ViewHolder> {

    private Context context;

    private List<FolderItemBean> list;

    private LayoutInflater mInflater;

    private OnClickLitener listener;

    private ViewHolder viewHolder;
    private View view;
    FileListMg mFileListMg;

    public void setList(List<FolderItemBean> list) {
        this.list = list;
        notifyDataSetChanged();
    }

    public FolderItemAdapter(Context context, List<FolderItemBean> list, FileListMg fileListMg) {
        this.context = context;
        this.list = list;
        mInflater = LayoutInflater.from(context);
        mFileListMg = fileListMg;
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public int getCount() {
        return list.size();
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        view = LayoutInflater.from(context).inflate(R.layout.item_folder_detail, null);
        viewHolder = new ViewHolder(view);
        view.setOnLongClickListener(longClickListener);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") int position) {
        FolderItemBean temp = list.get( list.size() - position -1 );
        //Logger.d(" onBindViewHolder ------------- " + list.size());
        if ( mFileListMg.curFoldLevel == InitParam.FOLDER_LEVEL.L_ONE.ordinal() ) {
            holder.txt_name.setText(temp.getFdName());
        } else if ( mFileListMg.curFoldLevel == InitParam.FOLDER_LEVEL.L_TWO.ordinal() ) {
            if ( temp.isReport() ) {
                holder.txt_name.setText(R.string.string_report_doc);
            } else {
                holder.txt_name.setText(temp.getListMonth());
            }
        }
        holder.lay_0.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //int position = (Integer) v.getTag();
                if ( mFileListMg.curFoldLevel == InitParam.FOLDER_LEVEL.L_ONE.ordinal() ) {
                    listener.onUserClick(temp.getFdName());
                } else if ( mFileListMg.curFoldLevel == InitParam.FOLDER_LEVEL.L_TWO.ordinal() ) {
                    listener.onMonthClick(list.size() - position -1, temp.getListMonth(),
                            temp.getFdName(), temp.isReport());
                }
            }
        });

        /*if ( checkList.get(list.size() - position -1) ) {
            holder.txt_name.setTextColor(context.getResources().getColor(R.color.color_0aede0));
        } else {
            holder.txt_name.setTextColor(context.getResources().getColor(R.color.color_white));
        }*/
    }

    class ViewHolder extends RecyclerView.ViewHolder  {
        RelativeLayout lay_0;
        //@BindView(R.id.img_item)
        ImageView item_folder;
        //@BindView(R.id.tv_name)
        TextView txt_name;

        ViewHolder(View view) {
            super(view);
            //ButterKnife.bind(this, view);
            lay_0 = (RelativeLayout)view.findViewById(R.id.lay_0);
            item_folder = (ImageView)view.findViewById(R.id.item_folder);
            txt_name = (TextView)view.findViewById(R.id.txt_name);
        }
    }

    public OnClickLitener getListener() {
        return listener;
    }

    public void setOnClickLitener(OnClickLitener listener) {
        this.listener = listener;
    }

    public interface OnClickLitener {
        void onMonthClick(int position, String listMonth, String user, boolean isReport);
        void onUserClick(String user);
    }

    public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

    private View.OnLongClickListener longClickListener;

    public void setLongClickListener(View.OnLongClickListener clickListener) {
        this.longClickListener = clickListener;
    }

}