我有一个EditText控件。如果我点击它,软键盘将弹出,但是当我按下"enter/ok/return“时,EditText控件仍然有焦点,键盘弹出。
如何关闭软键盘并将焦点移出它?
发布于 2010-11-21 06:27:21
您可以尝试在布局中的另一个元素上执行SetFocus()
。
如果您正在谈论键盘上的"enter/ok/return“按钮,您可能需要在EditText
控件上设置一个KeyListener
,以便知道何时对另一个元素执行SetFocus()
操作。
发布于 2011-05-23 18:02:54
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);
发布于 2010-11-21 15:37:56
在布局XML文件中,指定EditText上的imeOption:
android:imeOptions="actionGo"
接下来,将操作侦听器添加到活动的java文件中的EditText中
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对象
https://stackoverflow.com/questions/4235070
复制相似问题