我创建了一个活动,在LinearLayout中有一个标题和一个web视图。在onResume()方法中它调用webView.loadUrl(url)。问题在于,该活动首先显示标题,屏幕其余部分为空白,然后启动设备浏览器并显示URL页面。我想看到的是在标题下面的WebView中显示的页面。有什么问题吗?
编辑: 好吧,我进一步搜索了一下,找到了这个:
单击url会打开默认浏览器
它指向WebView教程。
只需实现web客户端并设置它。
我创建了一个活动,在LinearLayout中有一个标题和一个web视图。在onResume()方法中它调用webView.loadUrl(url)。问题在于,该活动首先显示标题,屏幕其余部分为空白,然后启动设备浏览器并显示URL页面。我想看到的是在标题下面的WebView中显示的页面。有什么问题吗?
编辑: 好吧,我进一步搜索了一下,找到了这个:
单击url会打开默认浏览器
它指向WebView教程。
只需实现web客户端并设置它。
当前回答
用这个:
lWebView.setWebViewClient(new WebViewClient());
其他回答
像这样使用:
@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");
}
用这个:
lWebView.setWebViewClient(new WebViewClient());
我的问题是,在不打开外部浏览器的情况下切换网站之前,我需要做一个clearHistory。
@Override
public void onPageFinished(WebView view, String url) {
webView_.clearHistory();
super.onPageFinished(webView_, url);
}
我也遇到了同样的问题,但我找到了解决办法 Android关于WebView的官方文档
这是我的onCreateView()方法,在这里我使用了两个方法来打开url 方法1是在浏览器中打开url和 方法2是在你想要的WebView中打开url。 我使用方法2为我的应用程序,这是我的代码:
public class MainActivity extends Activity {
private WebView myWebView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_webpage_detail, container, false);
// Show the dummy content as text in a TextView.
if (mItem != null) {
/* Method : 1
This following line is working fine BUT when we click the menu item then it opens the URL in BROWSER not in WebView */
//((WebView) rootView.findViewById(R.id.detail_area)).loadUrl(mItem.url);
// Method : 2
myWebView = (WebView) rootView.findViewById(R.id.detail_area); // get your WebView form your xml file
myWebView.setWebViewClient(new WebViewClient()); // set the WebViewClient
myWebView.loadUrl(mItem.url); // Load your desired url
}
return rootView;
} }
我刚刚发现,这取决于URL的格式:
https://example.com/example在浏览器中打开 https://example.com/example/(以/结尾)在webView中打开
我的代码只使用
webview.loadUrl(url)
无需设置
webView.setWebViewClient(new WebViewClient())
至少对我来说是这样。 也许这对你们有些人有用。