问题描述
我想在 webView 中显示 PDF。我有那个 PDF 的 URL。它有时工作并显示 PDF,但有时当我单击 RecyclerView 中的不同 URL 时不显示 PDF。
我搜索了这个问题并尝试使用 postDelayed
但它有时仍然不显示 PDF
这是代码
final Dialog g = new Dialog(context);
//,android.R.style.Theme_Translucent_NoTitleBar
g.requestwindowFeature(Window.FEATURE_NO_TITLE);
g.setContentView(R.layout.webview_layout);
Window window = g.getwindow();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(g.getwindow().getAttributes());
Rect displayRectangle = new Rect();
window.getDecorView().getwindowVisibledisplayFrame(displayRectangle);
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
lp.gravity = Gravity.CENTER_VERTICAL;
window.setAttributes(lp);
WebView webView = (WebView) g.findViewById(R.id.webView);
// WebSettings ws = webView.getSettings();
webView.getSettings().setJavaScriptEnabled(true);
// webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setLoadWithOverviewmode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setWebViewClient(new Callback());
webView.postDelayed(new Runnable() {
@Override
public void run() {
webView.loadUrl( "http://docs.google.com/gview?embedded=true&url=" +list.get(position).getURl());
}
},1000);
g.show();
和 WebView 客户端
private class Callback extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(
WebView view,String url) {
return(false);
}
@Override
public void onReceivedSslError(WebView view,SslErrorHandler handler,SslError error) {
// super.onReceivedSslError(view,handler,error);
handler.proceed();
}
@Override
public void onPageFinished(WebView view,String url) {
super.onPageFinished(view,url);
Log.e("webView"," "+"end");
}
@Override
public boolean shouldOverrideUrlLoading(WebView view,WebResourceRequest request) {
Log.e("webView"," "+"start");
return super.shouldOverrideUrlLoading(view,request);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)