4

我正在開發一個使用EditText(多行)的Android應用程序。我測試的設備缺乏硬鍵盤,因此我(顯然)使用軟鍵盤。當我觸摸/點擊EditText時,出現軟鍵盤。我打算用於EditText的功能是,當我按下「Enter」鍵時,軟鍵盤消失。但是,要表示一段我想使用「Shift-Enter」。這在Facebook上輸入評論時有點像。使用軟鍵盤爲EditText編程「Enter」和「shift-enter」

我已經能夠用一些簡單的代碼來模仿「輸入」功能。通過使用KeyEvent和OnKeyListeners。我嘗試編寫代碼,以便「Shift-Enter」可以工作(例如isShiftPressed())。但是,在做了一些研究之後,我發現「Shift」顯然不會觸發軟鍵盤的onKey事件。

大量的StackOverflow建議告訴我使用TextChangedListener,但這不適用於我,因爲實際上shift和input都不會改變EditText中的文本。

有誰知道一個解決方案,以便我可以得到我的EditText的預期功能?任何事情都會在這一點上我想。

回答

1

Thomas Ahle在這個答案中的代碼似乎正是你在尋找。

How do I handle ImeOptions' done button click?

可惜我不能讓它在我的HTC Desire工作,因爲isShiftPressed()永遠是假的。

+0

感謝您的回答,我曾嘗試使用「isShiftPressed()」,但我也遇到了同樣的問題。我相信它總是錯誤的,因爲它不適用於軟鍵盤。它可能與硬鍵盤一起工作,所以我要在模擬器上進行測試。 – Sjieke