8

同様の質問を検索して見つけましたが、ほとんどの場合、実際に非表示にする方法ではなく、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.
            //  }
    }

何か案は?

4

2 に答える 2