android fragment+webview 网页视图显示问题

山城忙碌人 2016-10-08 03:15:16
当前项目做了一个商品详情,类似京东商品详情,下拉查看商品的网页信息,我通过viewPager+fragment来实现。目前遇到的问题是,在商品项里的网页,加载完毕后,从商品切换到详情,或者评价(fragment切换),再重新切换回来的时候,商品里面的网页无法显示。调用goodsWebView.getVisibility()显示的是网页正常显示。请问这种问题如何解决?
1 第一次访问商品详细

2 第一次 上拉查看图文详情 网页加载完毕

3 切换fragment

4 重新切换回第一个fragment,再一次 上拉查看图文详情 ,我程序作了判断,只有第一次才加载网页,但fragment切换后,我并未销毁webview。


webView相关代码如下:
public void loadWebView(){
if(Util.isEquals(webViewUrl)){
Animation animation = AnimationUtils.loadAnimation(mContext,
R.anim.loading_animation);
goodsWebView.setWebViewClient(new WebViewClient());
// Util.printLog("硬件加速器 "+Build.VERSION.SDK_INT, 2);
// if (Build.VERSION.SDK_INT >= 19) {//硬件加速器的使用
// goodsWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
// }
WebSettings webSettings = goodsWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
goodsWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
});
goodsWebView.loadUrl(webViewUrl);
}
}




我使用过的解决办法:
1 在fragment切换后,直接销毁webview,fragment切换回来后,重新通过findViewById获取webVIew,然后重新加载网页,也不能正常显示。
2 我通过日志,获取webView.getHeight(),正常加载时,基本上显示的是1120,第二次网页无法显示后,再次获取webView.getHeight().得到的值却是网页的总高度,比如:3000
...全文
658 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
山城忙碌人 2016-10-08
  • 打赏
  • 举报
回复
1 第一次访问商品详细

2 第一次 上拉查看图文详情 网页加载完毕

3 切换fragment

4 重新切换回第一个fragment,再一次 上拉查看图文详情 ,我程序作了判断,只有第一次才加载网页,但fragment切换后,我并未销毁webview。



希望CSDN不要删除图片了,这是app截图,不是打广告。。。。急等解决问题

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧