Jor*_*rge 6 error-handling android webview
我搜索并发现了类似的问题,但他们主要说如何更改webView内容,而不是如何真正隐藏它.
我的webView最初是在main.xml中使用android:visibility ="gone"隐藏的,我用myWebView.setVisibility(1)将其改为dinamically to visible!当页面完全加载(并且它工作).现在,我想在检测到错误时隐藏此webView.我想隐藏它的原因是因为我在布局中有一个很好的背景,可以告知错误.我知道这不是最好的方法,可能会在以后更改它,但现在,我想解决的是为什么webView在发生错误时没有隐藏(只是为了好玩,也许).
这就是我尝试过的:
@Override
public void onReceivedError (WebView view, int errorCode,
String description, String failingUrl) {
myWebView = (WebView) findViewById(R.id.webview);
// myWebView.setVisibility(0); // Doesn't work!
// if (errorCode == ERROR_TIMEOUT) { // Commented just for trying
try {view.stopLoading();} catch(Exception e){}
try {view.clearView();} catch(Exception e){}
view.loadUrl("file:///android_asset/error.html"); // This Works but I don't want it this way.
view.setBackgroundColor(0x00000000); // Trying to make it transparent. Doesn't work here
view.setVisibility(View.GONE); // Doesn't work. I have tried also with myWebView.
// }
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
这是我的想法:
boolean isPageError = false;
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
isPageError = false;
}
@Override
public void onPageFinished(WebView view, String url) {
if (isPageError){
webview.setVisibility(View.GONE);
txtError.setVisibility(View.VISIBLE);
txtError.setText("error message");
}
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
isPageError = true;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |