最近使用Spinner这个控件时,总是点击两次,spinner才会出现下拉菜单
页面中有EditText和Spinner控件
他俩都设置了
setFocusableInTouchMode = true
后来把Spinner的该属性去掉,发现就好了。
原因:以上两个控件在获取焦点时出现了冲突(这里其实也没必要给Spinner设置焦点)
首先我们应该明白,当我们点击一个控件时,首先是让控件获取到焦点,然后才是去执行相应的逻辑。如果该控件没有获取到焦点,我们第一次点击时只是让他获取到焦点,并不会去执行逻辑,第二次点击时才会去执行逻辑。所以出现了点击两次才生效的情况。