隐藏软键盘后,EditText
如何仍然具有焦点(用户按下完成/输入/搜索按钮)?
你能帮我解释一下吗?
您的应用和Android软键盘(stock one)是不同的应用程序进程。虽然Android负责在应用程序的EditText
焦点请求中“通知”软键盘应用程序,但Android和软键盘应用程序都不应对您的应用程序的EditText
焦点更改负责。您的应用程序具有足够的回调功能,可通过软键盘进行清晰对焦。
这是默认的Android行为。您可以在回车键上调用view.clearFocus()来覆盖它。
- 在您的特定活动中添加以下代码行。
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;
}
});