1

我正在尝试制作一个带有 web 视图的 Android 应用程序,其中我有一个 html 页面。这个包含一个contentEditable属性设置为 true 的“div”标签。

我的问题:通过启动应用程序,我无法编辑文本。

我一直在 Google 上进行大量搜索,但没有关于此主题的内容。我想知道是否缺少任何权限(作为清单中访问网络的权限),但我能够编辑输入和 textarea 标签(以及其他)。我参考了 WebView 的 API、WebViewClient、WebChromeClient,但我没有找到任何可以配置特定权限的方法来做到这一点。

webview是否了解该contentEditable属性?即使 webview 应该解释 html,它也不起作用。

我的活动:

public class WebAppStackOverFlowActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        WebView webView = (WebView) findViewById(R.id.webView) ;
        webView.setWebChromeClient (new WebChromeClient()) ;
        webView.loadUrl("file:///android_asset/www/index.html") ;
    }
}

我的asset/www/index.html文件:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <input id="name" value="this is an input tag" />
    <br />
    <div contenteditable="true">this is an editable div tag</div>
    <br />
    <textarea rows="" cols="">this is a textarea tag</textarea>
</body>
</html>

我的main.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
4

1 回答 1

1

contentEditableAndroid 3.0 (Honeycomb) 及更高版本 ( source )上的默认浏览器支持。

所以,如果你在 Gingerbread 上运行它,就可以解释为什么它不起作用。

于 2012-07-12T14:42:19.713 回答