在隐藏软键盘(用户按下完成/输入/搜索按钮”之后,EditText
仍然有焦点吗?
能请您提供一些解释吗?
答案 0 :(得分:1)
这是默认的Android行为。您可以在Enter键上调用view.clearFocus()来覆盖它。
答案 1 :(得分:0)
您的应用程序和 Android 软键盘(stock one)是不同的应用程序过程。虽然 Android 负责在应用程序的EditText
焦点请求上“通知”软键盘应用程序,但 Android 和软键盘键盘应用程序应负责您应用程序的EditText
焦点更改。您的应用程序可以使用软键盘提供足够的回调来清除焦点。
答案 2 :(得分:0)
-在您的特定活动中添加以下代码行。
EditText edt_user = findViewById(R.id.edt_user);
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
imm.showSoftInput(edt_user,0);
edt_user.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
edt_user.clearFocus();
}
return false;
}
});