// This will change the ‘RETURN’ button in your the EditText’s soft keyboard to a ‘DONE’ button.
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
// Use the InputMethodManager to close the soft keyboard
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
//Clear focus here from edittext
InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
return false;
}
});
5条答案
按热度按时间rqenqsqc1#
调用
EditText
的clearFocus
方法以在从软键盘单击完成按钮时失去焦点。执行如下操作:并在编辑文本xml中添加
android:imeOptions="actionDone"
zazmityj2#
如果有人遇到这个问题,想知道如何在活动中一次取消所有内容的焦点,他们可以将焦点设置在父布局(或任何相关布局)上。
5ktev3wc3#
只是一个更完整的答案
6qfn3psc4#
Kotlin,这对我很有效:
main是根ConstraintLayout
2wnc66cl5#
Kotlin版本的ρяσ ρ я K's answer: