我創建了一個多行edittext字段的對話框。問題在於軟鍵盤的[ENTER]鍵關閉鍵盤而不是創建新行。使用imeOptions,可以配置很多,但不是一個換行命令...如何可以我完成了這個?Android [ENTER] - 對話框中多行edittext的鍵動作
使用Android 4.0.3構建Galaxy Tab 2。
我創建了一個多行edittext字段的對話框。問題在於軟鍵盤的[ENTER]鍵關閉鍵盤而不是創建新行。使用imeOptions,可以配置很多,但不是一個換行命令...如何可以我完成了這個?Android [ENTER] - 對話框中多行edittext的鍵動作
使用Android 4.0.3構建Galaxy Tab 2。
我發現設置原始 EditText的輸入類型爲多行爲工作在「正常」輸入類型不是。
final EditText remark = new EditText(MyClass.this);
remark.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
這是爲我做的。
您可能可以通過創建一個新的TextWatcher來完成此任務。將此textwatcher註冊到您的EditText並在收到返回鍵時執行breakline。
編輯:
爲了處理一個單獨的按鍵,實現的onkeydown()或的onkeyup()作爲合適的。通常,如果您想確保只收到一個事件,則應該使用onKeyUp()。如果用戶按下並按住按鈕,則會多次調用onKeyDown()。
例如:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
/* This is a sample for handling the Enter button */
return true
default:
return super.onKeyUp(keyCode, event);
}
}
來源:
機器人:
http://developer.android.com/training/keyboard-input/commands.html
所述的KeyEvents列表:
http://developer.android.com/reference/android/view/KeyEvent.html
據我可以找到一個TextWatcher只能監視輸入的文本,而不是像輸入(返回)按鈕的功能鍵。還是我完全錯了? – LocalHourglass
你說得對。讓我編輯我的答案。 – RobertoNovelo
這確實適用於覆蓋鍵盤按鍵的行爲。雖然我發現了一個更爲簡單的解決方案..謝謝在任何情況下,它幫助了我很多。 – LocalHourglass