@@ -7,7 +7,6 @@ import android.util.AttributeSet
7
7
import android.util.DisplayMetrics
8
8
import android.util.Log
9
9
import android.view.View
10
- import android.view.View.OnLongClickListener
11
10
import android.view.ViewGroup
12
11
import android.view.WindowManager
13
12
import kotlin.math.max
@@ -135,9 +134,16 @@ class TagLayout : ViewGroup {
135
134
var i = 0
136
135
for ((childView, rect) in mViewRectMap) {
137
136
childView.layout(rect.left, rect.top, rect.right, rect.bottom)
138
- childView.isClickable = true
139
- childView.isFocusable = true
140
- val position = i
137
+ setItemListener(childView, i)
138
+ i++
139
+ }
140
+ }
141
+
142
+ /* *
143
+ * 给子view设置点击事件
144
+ */
145
+ private fun setItemListener (childView : View , position : Int ) {
146
+ if (choiceMode != ChoiceMode .None .choiceMode || (onItemClickListener != null || onItemLongClickListener != null )) {
141
147
childView.setOnClickListener {
142
148
changedCheckedItemView(position)
143
149
if (onItemClickListener != null ) {
@@ -160,14 +166,11 @@ class TagLayout : ViewGroup {
160
166
}
161
167
162
168
if (onItemLongClickListener != null ) {
163
- childView.isClickable = true
164
- childView.isFocusable = true
165
169
childView.setOnLongClickListener { v ->
166
- onItemLongClickListener?.onItemLongClick(i , v)
170
+ onItemLongClickListener?.onItemLongClick(position , v)
167
171
true
168
172
}
169
173
}
170
- i++
171
174
}
172
175
}
173
176
@@ -262,6 +265,11 @@ class TagLayout : ViewGroup {
262
265
} else {
263
266
changedCheckedItemView(- 1 )
264
267
}
268
+ var i = 0
269
+ for ((childView, _) in mViewRectMap) {
270
+ setItemListener(childView, i)
271
+ i++
272
+ }
265
273
}
266
274
267
275
/* *
0 commit comments