为什么在隐藏软键盘后EditText不会失去焦点?

问题描述 投票:1回答:3

隐藏软键盘后,EditText如何仍然具有焦点(用户按下完成/输入/搜索按钮)?

你能帮我解释一下吗?

android android-edittext android-softkeyboard lost-focus
3个回答
0
投票

您的应用和Android软键盘(stock one)是不同的应用程序进程。虽然Android负责在应用程序的EditText焦点请求中“通知”软键盘应用程序,但Android和软键盘应用程序都不应对您的应用程序的EditText焦点更改负责。您的应用程序具有足够的回调功能,可通过软键盘进行清晰对焦。


1
投票

这是默认的Android行为。您可以在回车键上调用view.clearFocus()来覆盖它。


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;
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.