android 控件点两次才生效的问题

最近使用Spinner这个控件时,总是点击两次,spinner才会出现下拉菜单

页面中有EditText和Spinner控件

他俩都设置了

setFocusableInTouchMode = true

后来把Spinner的该属性去掉,发现就好了。

原因:以上两个控件在获取焦点时出现了冲突(这里其实也没必要给Spinner设置焦点)

首先我们应该明白,当我们点击一个控件时,首先是让控件获取到焦点,然后才是去执行相应的逻辑。如果该控件没有获取到焦点,我们第一次点击时只是让他获取到焦点,并不会去执行逻辑,第二次点击时才会去执行逻辑。所以出现了点击两次才生效的情况。


你可能感兴趣的:(Android)