111
hxb
2022-11-24 0a3e07f10937484145f33c7560607b4b2353cb81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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<View> 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 extends View> 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;
    }
}