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 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 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; } }