2012-02-17 32 views
2

很好,這是要把我瘋了... 我已經閱讀THISTHISTHIS時,但沒有爲我工作。預防的EditText顯示SoftKeyboard集中

情景
這是情景:我的投票應用程序讀取配置文件中的調查結果顯示,問題可能有一個,多個或文字答案。
在第一種情況下,我將RadioButtons添加到活動中,在第二種情況下複選框,在第三種情況下添加一些多行EditText。

一切工作正常,但是當調查向下滾動的重點是自動收到在下次的EditText是自動顯示的SoftKeyboard。
考慮到我的用戶可能想回答第一個問題,然後回到第二個問題,然後跳轉到最後一個回到第三個問題,這是非常令人滿意的。

當前第一次EditText收到焦點時,即使用戶繼續向下滾動(即使被詛咒的EditText最終失去焦點),鍵盤彈出窗口仍然保持不變。

問題
我怎麼能有一個EditText,顯示鍵盤只有當它被點擊用戶不是當只接收焦點

ENVIRO
13級的API(蜂窩)

在此先感謝
洛倫佐(即正在認真考慮開放RESTURANT)

回答

4

在你的onCreate(..)方法,你可以設置你的EditText控制使用

EditText.setFocusable(false); 

這應該防止顯示屏在鍵盤上滾動是unfocusable。 在你的onClickListener(..)你可以重新使用它

EditText.setFocusableInTouchMode(true); 
EditText.requestFocus(); 
+0

奈傑爾,我的英雄! – lorenzoff 2012-02-18 09:35:05

1

嘗試把財產

android:descendantFocusability="blocksDescendants" 

在您的scrollView容器上

+0

謝謝你的回答菲利普。不幸的是,它不起作用:向下滾動ScrollView容器,第一個EditText仍然接收焦點,鍵盤繼續彈出。也許繼承EditText? – lorenzoff 2012-02-17 18:53:34

+1

等待,有些事情正在出現:將android:descendantFocusability =「blocksDescendants」添加到外部ScrollView中,但添加到內部垂直LinearLayout中,鍵盤未出現(但似乎EditTextes根本沒有收到焦點)。也許這是一個很好的起點...... – lorenzoff 2012-02-17 18:59:17

相關問題