启动webview后软键盘一直在

Soft Keyboard stays up after initiating webview

我有一个使用某些凭据登录到 Web 应用程序的应用程序。登录启动 webview。

问题来了。

在模拟器(Nexus_S_Google 和带有 API 21 的 Nexus 5)和三星平板电脑上,当 webview 出现时键盘消失。这将是所需的行为。在两款不同的手机(Samsung 5s 和 Samsung Galaxy Note 5)上,键盘 而不是 消失了。这只是电话的工作方式吗?或者有没有办法调用这种行为?我不明白为什么它适用于平板电脑和模拟器而不是手机。

这是我试过的。

在清单中。

android:windowSoftInputMode="adjustPan">

在ActivityXML

android:focusable="true"
android:focusableInTouchMode="true"/>

In MainActivity webview 获取 url.

webView.requestFocus();

好吧,我做了很多尝试,但这就是我解决问题的方法。

创建方法

private void fKeyboardClose()
    {
        InputMethodManager inputMethodManager = (InputMethodManager)getSystemService( Activity.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow( this.getCurrentFocus().getWindowToken(), 0);
    }

然后我在提交按钮的 onClick 之后调用它。

submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fKeyboardClose();

                textstring(phone, login, pass);
                prefwrite(editor);
                pushurl();
                clear(phone, login, pass);