一个以LinearLayout为Item的点击事件在第一次点击时无效,第二次点击之后才会响应。
以为是LinearLayout或是Adapter的问题,最后发现是因为焦点问题,第一次点击实际上是获取焦点,第二次点击才会响应点击事件。
问题所在:
在LinearLayout里面加了如下属性:
android:focusable="true"
android:focusableInTouchMode="true"
解决办法:focusableInTouchMode值改为false
顺便说说focusableInTouchMode这个属性,它表示触摸获取焦点,一般地,我们可以通过设置为true让EditText默认没有焦点从而不会一开始就弹出软键盘。但用错了的话就像我上面遇到的问题一样,用在其他控件上,就要点击两次才能响应点击事件了。

本文探讨了LinearLayout中点击事件首次触发不响应的问题,并详细解释了如何通过调整focusableInTouchMode属性来解决这一问题。文章还介绍了focusableInTouchMode属性的作用,以及在不当使用时可能引发的双击响应现象。
974

被折叠的 条评论
为什么被折叠?



