2010-05-09 245 views
2

每當我在我的android應用程序中有一個EditText字段時,只要活動開始(though the keyboard doesn't pop up),就會用閃爍的光標進行高亮顯示。我如何禁用此功能?EditText默認選擇?

回答

8

EditText和ListView都是focusable in touch mode,所以當你通過點擊它的圖標(使你進入觸摸模式)來啓動你的應用程序時,你的應用程序中的第一個可能會變得焦點。如果您使用D-pad(將您移出觸摸模式)進入了您的應用程序,那麼第一個Button,Spinner,EditText或ListView將會獲得焦點,因爲它們都是可聚焦的。

當你的應用程序啓動時,我不會太注意視圖的焦點,但如果你真的不能忍受the default way of handling focus,你可以嘗試給TextView賦予焦點,因爲它看起來沒有什麼不同焦點。請記住,它通常不能在觸摸模式下對焦,所以您需要requesting focus之前的enable it。由於這有點冒失,其他人(包括我自己)會提醒你不要走這條路,並且可能會鼓勵你接受the normal behavior

View tv = findViewById(R.id.MyTextView); 
    tv.setFocusableInTouchMode(true); 
    tv.requestFocus(); 

PS:你可能也想看看這個other SO question,因爲它幾乎等同於你的。

+0

謝謝。這主要是一個審美的事情。它將重點從其他元素中吸取出來。我會嘗試你的建議。 – GuyNoir 2010-06-02 15:58:39

0

你可以調用setFocusable(false)來避免這種情況。但是,如果它晚些時候應該成爲焦點,那麼稍後可能需要再次調用setFocusable(true)。

+0

我仍然希望它是可以聚焦的,只是在活動打開時沒有默認聚焦。 – GuyNoir 2010-05-09 18:13:57