我有一個EditText控件。 如果我點擊它,軟鍵盤會彈出,但是當我按下「enter/ok/return」時,那麼EditText控件仍然有焦點並且鍵盤向上。
如何關閉軟鍵盤並從中刪除焦點?如何在Android上清除焦點並移除鍵盤?
回答
您可以嘗試在佈局的另一個元素上執行SetFocus()
。
如果你正在談論的「輸入/ OK /返回」鍵盤本身的按鈕,您可能必須建立在EditText
控制KeyListener
爲了知道什麼時候到另一個元件上SetFocus()
。
在佈局XML文件中,指定您的EditText的imeOption:
android:imeOptions="actionGo"
接下來,在活動的Java文件
mYourEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_GO) {
// hide virtual keyboard
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mYourEditText.getWindowToken(), 0);
return true;
}
return false;
}
});
凡mYourEditText是一個EditText添加動作監聽到你的EditText對象
恩,謝謝。但即時通訊suposed編寫imeOpt在佈局或編輯文本? 和我在EditorInfo上有錯誤,有什麼想法? – carefacerz 2010-11-22 16:11:56
你能解釋一下EditorInfo嗎? – carefacerz 2010-11-22 18:54:44
這將關閉鍵盤,但不會在所有情況下移除焦點。 IE瀏覽器將要求重點關注可以關注的第一個可用視圖。 – lostintranslation 2017-01-31 17:20:05
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);
這隻會隱藏鍵盤。它不會消除焦點。 – lostintranslation 2017-01-31 17:20:34
private void hideDefaultKeyboard() {
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
//you have got lot of methods here
}
確保您的EditText XML有:
android:id="@+id/myEditText"
android:imeOptions="actionDone"
然後設置監聽到你的EditText(與科特林,並從片段):
myEditText.setOnEditorActionListener({ v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
myEditText.clearFocus()
val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view!!.windowToken, 0)
}
false
})
- 1. 在軟鍵盤上清除AutoCompleteTextView的焦點關閉
- 2. 如何清除軟鍵盤當EditText處於焦點狀態時?
- 3. 如何在android中移動鍵盤的焦點?
- 4. 移除焦點並點擊活動 - Jquery
- 5. 如何清除javascript中的焦點?
- 6. 如何清除鍵盤內存?
- 7. 清除焦點上的空文本
- 8. 如何清除輸入搜索而不隱藏鍵盤? (移動)
- 9. 如何從MyGUI Widget中移除焦點?
- 10. 如何從單一EDITTEXT移除焦點
- 11. 如何在點擊左側和右側轉盤箭頭後移除焦點?
- 12. 如何清除React Native中的TextInput焦點? (Android)
- 13. 刪除焦點並獲得焦點在控件上
- 14. 從FpSpread中移除焦點
- 15. 如何使用AS3清除焦點上的文本字段?
- 16. 當軟鍵盤顯示時按下後退按鈕時清除焦點EditText
- 17. 如何刪除Android示例軟鍵盤?
- 18. 鍵盤快捷鍵清除Firebug中的所有斷點
- 19. 如何刪除鍵盤上的dataGridView行刪除鍵按? c#
- 20. 關閉輸入焦點的Android鍵盤
- 21. 定製的Android鍵盤焦點問題
- 22. (安卓)如何清除在某些情況下鍵盤內存(宏基鍵盤)
- 23. 在編輯文本中移除焦點
- 24. 如何解除UIWebView上的鍵盤?
- 25. 如何在屏幕上的鍵盤和按鈕組之間移動焦點?
- 26. 如何在全屏活動的鍵盤焦點上移動佈局
- 27. 如何給彈出鍵盤焦點Gtk.Window
- 28. 如何將鍵盤光標/焦點移動到QLineEdit?
- 29. 清除TEXTAREA值點擊(聚焦狀態)
- 30. Ember輸入焦點清除模型值
我明白,這是很多人給出的解決方案,但我不喜歡它,因爲而不是input.clearFocus()簡單地工作(即從那個輸入中清除焦點),你現在必須把焦點放在其他東西上!?這看起來反直覺。 – marienke 2017-04-12 13:45:30