我想知道在Android平臺中如何處理關鍵事件。 從'當用戶鍵入'a'在軟件鍵盤上'時, 要'查看自己繪製字符'a''。重要事件處理過程
可能是由IME生成的關鍵事件, 它將被髮送到父視圖, 最後,視圖(如EditText)顯示字符。
請有人解釋這些整個關鍵事件處理過程。
我想知道在Android平臺中如何處理關鍵事件。 從'當用戶鍵入'a'在軟件鍵盤上'時, 要'查看自己繪製字符'a''。重要事件處理過程
可能是由IME生成的關鍵事件, 它將被髮送到父視圖, 最後,視圖(如EditText)顯示字符。
請有人解釋這些整個關鍵事件處理過程。
看看這篇文章:http://developer.android.com/resources/articles/creating-input-method.html
基本上,你可以手動發送KeyEvent
S或您可以手動編輯,並在應用程序的輸入View
提交光標周圍的文本。
這些都是通過IME的InputConnection
完成的。
當您使用軟件鍵盤時,OnKeyListener和OnKeyDown不會被調用,正如您發現的那樣。他們只有在使用硬件鍵盤時纔會被調用,而許多Android設備甚至沒有。
我假設你要做的是捕獲鍵盤事件,因爲它們在EditText區域發生。在這種情況下,爲了處理軟件鍵盤輸入和硬件鍵盤輸入,最好的方法是通過addTextChangedListener()方法註冊TextWatcher。
請注意,在Android 2.1及更高版本(例如Nexus One)的手機上,用戶可以選擇使用語音識別功能將文本輸入到EditText中,而無需輸入文字。當他們這樣做時,你可能會得到完整的單詞,甚至完整的句子,一次輸入。因此,當內容發生變化時,您需要檢查EditText字段的全部內容。
在過去一天中您已詢問的總3個有關這個網站的問題。他們都是同一個問題,只是措詞略有不同。請不要這樣做。如果您需要在原始問題中提供更多信息,請對其進行編輯。 – 2010-03-17 13:52:11