android - WebView 不会每次都加载
问题描述
WebView 加载从 Firebase 数据库获取的 PDF。
一旦我从 WebView 按下,然后打开 WebView Activity,什么都没有加载。只是一个白色的空白屏幕。
这是我的活动代码:
public class ShowPdfActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_pdf);
webView = findViewById(R.id.webView);
ShowContent();
}
private void ShowContent() {
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressDialog.setTitle("Please Wait");
progressDialog.setMessage("Previewing your Content ..");
progressDialog.setIcon(R.mipmap.ic_launcher_round);
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressDialog.dismiss();
}
});
webView.postDelayed(new Runnable() {
@Override
public void run() {
String url = "";
try {
url = URLEncoder.encode(Pdf_data, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
webView.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + url);
}
}, 400);
}
@Override
protected void onResume() {
super.onResume();
ShowContent();
}
public void destroyWebView() {
rel11.removeAllViews();
webView.clearHistory();
webView.clearCache(true);
webView.loadUrl("about:blank");
webView.onPause();
webView.removeAllViews();
webView.destroyDrawingCache();
webView.pauseTimers();
webView.destroy();
webView = null;
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e("On Destroy here", "here");
destroyWebView();
}
}
如何修复空白屏幕,以便 WebView 每次都加载内容,而不是在我清除应用程序的数据之后。
解决方案
推荐阅读
- java - 为 9999 年 12 月 31 日(UTC)创建 java.sql.Date 的最简单方法?
- python - Tkinter 模块 - 程序将运行然后停止并且不会打开窗口
- java - JUnit 5 中的系统属性和并行测试执行
- javascript - 毫不拖延,“更新”不会触发
- vba - 循环遍历用户窗体上的控件以隐藏特定控件
- linux - 在 Linux Mint 18.2 上为 Yiynova 平板电脑安装内核驱动程序时遇到问题
- laravel - Laravel 5.7 - 检查是否不等于 id 或 null 且不等于另一个 id 和 team_id 不在 (?, ?) 中的 Eloquent 查询
- c# - 无需委派 VBA/C# 即可获取 Outlook 共享日历
- regex - 正则表达式两个首字母
- c# - 将多个自定义标记添加到 Bing 地图 (API) 示例