gpt4 book ai didi

android - 如何隐藏 WebView 错误页面。可能吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:11:55 25 4
gpt4 key购买 nike

我搜索过类似的问题,但他们大多说如何更改 webView 内容,而不是如何真正隐藏它。

我的 webView 最初是在 main.xml 中使用 android:visibility="gone"隐藏的,我使用 myWebView.setVisibility(1) 将其动态更改为可见;当页面完全加载(并且可以正常工作)时。现在,我想在检测到错误时隐藏此 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.
// }
}

有什么想法吗?

最佳答案

这是我的想法:

 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;
}
});

关于android - 如何隐藏 WebView 错误页面。可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com