package com.mm.android.deviceaddmodule.mobilecommon.base.adapter;

import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.View;

public class CommonRecyclerViewHolder extends RecyclerView.ViewHolder {
    RecyclerView mRecylerView;
    private SparseArray<View> mViewArray;       //控件集合

    View mConvertView;

    public CommonRecyclerViewHolder(RecyclerView recyclerView, final View itemView, final CommonRecyclerViewAdapter.RecyclerViewItemClickListener listener) {
        super(itemView);
        mRecylerView = recyclerView;
        mConvertView = itemView;
        mViewArray = new SparseArray<>();
        itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (v.getId() == itemView.getId() && listener != null) {
                    listener.onRecylerViewItemClick(mRecylerView, itemView, getAdapterPosition());
                }
            }
        });
    }

    public <T extends View> T findViewById(int id) {
        View view = mViewArray.get(id);
        if (view == null) {
            view = mConvertView.findViewById(id);
            mViewArray.put(id, view);
        }
        return (T) view;
    }

    public View getConvertView() {
        return mConvertView;
    }
}