package com.mm.android.deviceaddmodule.mobilecommon.common; import android.content.Context; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class ViewHolder { private View mContent; private SparseArray sparseArray; public static ViewHolder getViewHolder(int layout, View mContent, Context mContext, ViewGroup parent) { ViewHolder viewHolder; if (mContent == null) { viewHolder = new ViewHolder(); mContent = LayoutInflater.from(mContext).inflate(layout, parent, false); mContent.setTag(viewHolder); viewHolder.mContent = mContent; viewHolder.sparseArray = new SparseArray<>(); } else { viewHolder = (ViewHolder) mContent.getTag(); } return viewHolder; } public T findViewById(int id) { T view = (T) sparseArray.get(id); if (view == null) { view = mContent.findViewById(id); sparseArray.put(id, view); } return view; } public View getView() { return mContent; } }