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

时间:2019-03-06 18:24:10

标签: android android-edittext android-softkeyboard lost-focus

在隐藏软键盘(用户按下完成/输入/搜索按钮”之后,EditText仍然有焦点吗?

能请您提供一些解释吗?

3 个答案:

答案 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;
        }
    });