我创建了一个活动,在LinearLayout中有一个标题和一个web视图。在onResume()方法中它调用webView.loadUrl(url)。问题在于,该活动首先显示标题,屏幕其余部分为空白,然后启动设备浏览器并显示URL页面。我想看到的是在标题下面的WebView中显示的页面。有什么问题吗?
编辑: 好吧,我进一步搜索了一下,找到了这个:
单击url会打开默认浏览器
它指向WebView教程。
只需实现web客户端并设置它。
我创建了一个活动,在LinearLayout中有一个标题和一个web视图。在onResume()方法中它调用webView.loadUrl(url)。问题在于,该活动首先显示标题,屏幕其余部分为空白,然后启动设备浏览器并显示URL页面。我想看到的是在标题下面的WebView中显示的页面。有什么问题吗?
编辑: 好吧,我进一步搜索了一下,找到了这个:
单击url会打开默认浏览器
它指向WebView教程。
只需实现web客户端并设置它。
当前回答
像这样使用:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dedline);
WebView myWebView = (WebView) findViewById(R.id.webView1);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("https://google.com");
}
其他回答
如果您看到一个空页面,请启用JavaScript。
webView.setWebViewClient(new WebViewClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webView.loadUrl(url);
根据Maudicus和Hit的建议回答我的问题。
点击这里查看WebView教程。 只需实现web客户端,并在loadUrl之前设置它。最简单的方法是:
myWebView.setWebViewClient(new WebViewClient());
对于更高级的web内容处理,可以考虑使用ChromeClient。
我的问题是,在不打开外部浏览器的情况下切换网站之前,我需要做一个clearHistory。
@Override
public void onPageFinished(WebView view, String url) {
webView_.clearHistory();
super.onPageFinished(webView_, url);
}
简单回答你可以这样用
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
setContentView(webView);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.google.com");
}
}
用这个:
lWebView.setWebViewClient(new WebViewClient());