【发布时间】:2012-02-13 14:21:45
【问题描述】:
我需要一些关于显示/允许键盘显示和输入的帮助。
我的基本应用程序有一个带有按钮的主屏幕,单击按钮会打开一个 web 视图,我的一个按钮会打开一个带有输入表单的 HTML 页面的 web 视图。当你点击输入框时,键盘不显示,而当你在模拟器上使用硬件键盘时,它只会显示中文建议并且不输入任何文本。
【问题讨论】:
标签: android html keyboard webview
我需要一些关于显示/允许键盘显示和输入的帮助。
我的基本应用程序有一个带有按钮的主屏幕,单击按钮会打开一个 web 视图,我的一个按钮会打开一个带有输入表单的 HTML 页面的 web 视图。当你点击输入框时,键盘不显示,而当你在模拟器上使用硬件键盘时,它只会显示中文建议并且不输入任何文本。
【问题讨论】:
标签: android html keyboard webview
正如布伦特建议的那样,以下行将达到目的 -
webView.requestFocus(View.FOCUS_DOWN);
发生这种情况是因为在页面加载时网页失去了焦点,所以这一行只是将焦点带回页面。
对于最终遇到这个问题的人,关于这个话题的详细讨论是here
【讨论】:
这些都不适合我。 但是将所有应用程序的 webViewStyle 应用到 webview 解决了一切问题。
在 webview 定义中使用 style="?android:attr/webViewStyle" 修复了该问题,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/webViewStyle"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
【讨论】:
我自己通过进一步的谷歌搜索解决了这个问题我将我的 webview 声明为
WebView wb;
当我启动我的 webview(在我的情况下是单击按钮)时,您将传递 requestFocus 语句...
public void onMyButtonClick01(View view)
{
Toast.makeText(this, "Haha!", Toast.LENGTH_SHORT).show();
wb = new WebView(this);
wb.loadUrl("http://www.test.html");
setContentView(wb);
wb.requestFocus(View.FOCUS_DOWN);
}
【讨论】: