我在片段中使用WebView。用户可以使用导航栏在片段之间切换。
以下代码在加载WebView时运行加载图像,并在加载过程完成时隐藏加载图像。除了在WebView加载过程中 期间切换到另一个片段 时,应用程序大部分时间都崩溃了。
myWebView = (WebView) v.findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
WebView webview = (WebView) v.findViewById(R.id.webView);
myWebView.setWebViewClient(new WebViewClient() {
// Shows loading image during WebView load
@Override
public void onPageFinished(WebView view, String url) {
//hide loading image
getView().findViewById(R.id.imageLoading1).setVisibility(View.GONE);
//show webview
getView().findViewById(R.id.webView).setVisibility(View.VISIBLE);
}
});
webview.loadUrl("http://www.website.com");
非常感谢可能发生崩溃的原因。
答案 0 :(得分:0)
这是因为
@Override
public void onPageFinished(WebView view, String url) {
//hide loading image
getView().findViewById(R.id.imageLoading1).setVisibility(View.GONE);
//show webview
getView().findViewById(R.id.webView).setVisibility(View.VISIBLE);
}
您在页面加载之前更改片段,并在onPageFinished()
中尝试获取图像并设置其不再存在的可见性。最好是对片段进行一周的引用,并在你的onPageFinished中,首先检查你的webview fragment
被破坏或可用的天气。如果可用,则继续设置可见性,否则忽略。