2010-11-17 103 views
3

當鍵盤爲用戶輸入打開(可能是硬件鍵盤或虛擬鍵盤)時,我想突出顯示EditText中的文本。當鍵盤打開時在EditText中突出顯示文本

突出顯示不是我的問題,我的問題是突出顯示的觸發器。當鍵盤出現在特定的視圖(在這種情況下,我的EditText)時是否有一個處理程序被執行?硬件鍵盤和虛擬鍵盤有不同的處理程序嗎?

回答

2

據我所知,你不能在那個級別得到這些事情的通知。爲什麼不在EditText獲得焦點時突出顯示它?實際上,這通常意味着顯示IME。

事實上,已經有一種方法可以做到這一點:setSelectAllOnFocus

+0

嗯...我試過了,但它似乎並沒有工作。我在XML中向EditText添加了「android:selectAllOnFocus =」true「」,但是當我在模擬器中運行應用程序時,沒有任何選擇。我還應該注意到,這個EditText是活動啓動時選擇的第一件事 – Andrew 2010-11-17 17:37:17

+1

如果我將注意力集中並帶回,它會突出顯示。但是,這仍然存在問題。說我點擊EditText,它會突出顯示,我改變了它的值(它不再突出顯示),我再次點擊EditText以恢復虛擬鍵盤,文本需要高亮顯示,而不是。也許使用onClick處理器就足夠了,但當用戶滑出一個硬件鍵盤時它不起作用 – Andrew 2010-11-17 17:40:48

+0

我認爲我已經成功完成了我所設置的內容,儘管它很麻煩。 1)setSelectAllOnFocus。 2)當EditText的onClick處理器觸發時,全選。 3)創建活動時,如果EditText具有焦點並且存在硬件鍵盤,請選擇全部 – Andrew 2010-11-17 19:14:49