hxb
2022-11-22 b3513b1713bb979d0a69c5a8c4ddcd038f184e6e
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.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;
    }
}