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