1. 程式人生 > >android 控制元件點兩次才生效的問題

android 控制元件點兩次才生效的問題

最近使用Spinner這個控制元件時,總是點選兩次,spinner才會出現下拉選單

頁面中有EditText和Spinner控制元件

他倆都設定了

setFocusableInTouchMode = true

後來把Spinner的該屬性去掉,發現就好了。

原因:以上兩個控制元件在獲取焦點時出現了衝突(這裡其實也沒必要給Spinner設定焦點委屈

首先我們應該明白,當我們點選一個控制元件時,首先是讓控制元件獲取到焦點,然後才是去執行相應的邏輯。如果該控制元件沒有獲取到焦點,我們第一次點選時只是讓他獲取到焦點,並不會去執行邏輯,第二次點選時才會去執行邏輯。所以出現了點選兩次才生效的情況。