我有一个使用某些凭据登录到 Web 应用程序的应用程序。登录启动 webview。
问题来了。
在模拟器(Nexus_S_Google 和带有 API 21 的 Nexus 5)和三星平板电脑上,当 webview 出现时键盘消失。这将是所需的行为。在两款不同的手机(Samsung 5s 和 Samsung Galaxy Note 5)上,键盘不会消失。这只是电话的工作方式吗?或者有没有办法调用这种行为?我不明白为什么它适用于平板电脑和模拟器而不是手机。
这是我尝试过的。
在 list 中。
android:windowSoftInputMode="adjustPan">
在 Activity XML 中
android:focusable="true"
android:focusableInTouchMode="true"/>
在 webview 获取 url 后在 MainActivity 中。
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);
关于java - 启动webview后软键盘一直在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29987909/