1

大家好你们好。

这是我的代码。我在我的应用程序中创建了一个菜单。其中一项可以正确打开 URL。但我想WebView用这个打开 URL WebSettings。但它不起作用。

public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
    case WEBSITE:
        Toast.makeText(Activity.this, "About", Toast.LENGTH_SHORT).show();
        Uri uri = Uri.parse("http://www.english.com/about");
        Intent it = new Intent(Intent.ACTION_VIEW,uri);
        WebView web = new WebView(this);
        WebSettings webSettings = web.getSettings();
        webSettings.setSavePassword(false);
        webSettings.setSaveFormData(false);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(false);
        startActivity(it);
        return true;

这些网络设置不起作用。

4

2 回答 2

2

启动浏览器以查看网页意味着您要服从,但是浏览器将显示 url,并且您无法控制另一个应用程序的定义设置。如果您尝试使用自己的WebView,您将像这样加载 URL:

 webview.loadUrl("http://www.english.com/about");
于 2013-03-05T01:07:31.733 回答
1

您做错了两件事:1)您创建了一个新的WebView但从未将其附加到您的视图树和 2)您要求外部应用程序处理您要显示的 url 的查看。您需要将其添加WebView到您的 xml 布局文件或通过view.addChild(web);在您的根视图上使用附加到视图树。一旦它WebView是您的视图树的一部分,只需调用web.loadUrl(...);加载网页。由于您不想在外部浏览器上打开网页,因此您应该摆脱您的Intent it =...and startActivity(it);.

如果您想在不同的活动上打开网页,只需在其布局中创建一个带有 web 视图的新活动。您可以在此处找到有关如何执行此操作的示例。

于 2013-03-05T01:30:28.600 回答