-1

次のコードは、アプリケーションのMainActivityです。私が使用してカスタムエラーページを追加しようとしました:Android WebViewアプリケーションでカスタムエラーページをエラーなく追加するにはどうすればよいですか?

mywebView.setWebViewClientを(新しいWebViewClient(){ @Overrideます。public void onReceivedError(WebViewのビュー、int型のerrorCode、文字列の説明、文字列failingUrl){ mywebView.loadUrl(」ファイル:///android_asset/error.html "); }});

メインアクティビティで上記のコードを使用すると、エラーページまたはロードアイコンが一度に機能しています。 (お互いに優先する)。

私はどこを間違っているのか分かりません。誰でもこの問題を解決するのを助けてくれますか?前もって感謝します。

public class MainActivity extends AppCompatActivity { 

public WebView mywebView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mywebView = (WebView)findViewById(R.id.webView); 
    WebSettings webSettings = mywebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    mywebView.loadUrl("http://google.com/"); 
    mywebView.setWebViewClient(new WebViewClient()); 
    mywebView.setDownloadListener(new DownloadListener() { 
     public void onDownloadStart(String url, String userAgent, 
            String contentDisposition, String mimetype, 
            long contentLength) { 
      Intent i = new Intent(Intent.ACTION_VIEW); 
      i.setData(Uri.parse(url)); 
      startActivity(i); 
     } 
    }); 
    mywebView.setWebViewClient(new WebViewClient() { 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 

      super.onPageStarted(view, url, favicon); 
      findViewById(R.id.progress).setVisibility(View.VISIBLE); 
     } 

     public void onPageFinished(WebView view, String url) { 
      findViewById(R.id.progress).setVisibility(View.GONE); 
     } 
    }); 
} 
public void onBackPressed() { 
    if(mywebView.canGoBack()){ 
     mywebView.goBack(); 
    } else { 
     super.onBackPressed(); 
    } 
}} 
+0

あなたの*構文*の意味は[それが何を意味する](https://en.wikipedia.org/wiki/Syntax) – Selvin

+0

と違うのですか? –

+0

あなたは誤って単語の構文を使用していますあなたの質問は感覚を持たない(または少なくともあなたが意味するものを得るのは難しい) – Selvin

答えて

0
mywebView.setWebViewClient(new WebViewClient() { 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 

      super.onPageStarted(view, url, favicon); 
      findViewById(R.id.progress).setVisibility(View.VISIBLE); 
     } 

     public void onPageFinished(WebView view, String url) { 
      findViewById(R.id.progress).setVisibility(View.GONE); 
     } 

     public void onReceivedError(WebView webview, int i, String s, String s1) 
     { 
      webview.loadUrl("file:///android_asset/error.html"); 
     } 
    }); 

最後に、私は解決策を見つけました。

+0

私が書いた... 1つのクラスのすべての3つのメソッド...ブラボー。 – Selvin

+0

私のfrnd。 thnx fr thアイデア。 :) –

+0

私の質問を再フォーマットしました。しかし、あなたはまだそれを宣言していません。 –

関連する問題