大家好。
这是我的代码。我在我的应用中创建了一个菜单。其中一个项目正确打开了一个URL。但我想使用此WebView
在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;
这些网页设置不起作用。
答案 0 :(得分:2)
启动浏览器查看网页意味着您需要自己操作,但浏览器会显示网址,而您无法控制其他应用程序的已定义设置。如果您尝试使用自己的WebView
,则会加载以下网址:
webview.loadUrl("http://www.english.com/about");
答案 1 :(得分:1)
有两件事你做错了:1)你创建了一个新的WebView
但从未将它附加到你的视图树上; 2)你要求外部应用程序处理你想要显示的网址的查看。您需要将WebView
添加到xml布局文件中,或者在根视图上使用view.addChild(web);
附加到视图树。在WebView
成为视图树的一部分后,只需调用web.loadUrl(...);
即可加载网页。由于您不想在外部浏览器上打开网页,因此您应该删除Intent it =...
和startActivity(it);
。
如果要在其他活动上打开网页,只需在其布局中创建一个带有webview的新活动。您可以找到有关如何执行此操作的示例here。