工具-多个控件添加监听

多个控件添加监听

1
2
3
4
5
6
7
8
9
10
11
12
//多个控件添加监听
private void addOnClickListeners(@IdRes int... ids) {
if (ids != null) {
View view;
for (int id : ids) {
view = findViewById(id);
if (view != null) {
view.setOnClickListener(this);
}
}
}
}
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
//调用: 
addOnClickListeners(R.id.btn_open_log
, R.id.btn_disable_log
, R.id.btn_pre_load_before_page
, R.id.btn_pre_load_inside_page
, R.id.btn_pre_load_before_button_click
, R.id.btn_pre_load_group_before_page
);

private SparseArray viewSparseArray = new SparseArray<>();
private void addOnClickListeners(@IdRes int... ids) {
if (viewSparseArray == null) {
viewSparseArray = new SparseArray<>();
}
if (ids != null) {
for (int id : ids) {
if (viewSparseArray.get(id) == null) {
viewSparseArray.put(id, findViewById(id));
}
if (viewSparseArray.get(id) != null) {
viewSparseArray.get(id).setOnClickListener(this);
}
}
}
}