-1

以下代碼是應用程序的MainActivity。我試圖通過添加自定義錯誤頁:如何在Android WebView應用程序中添加自定義錯誤頁面而沒有任何錯誤?

mywebView.setWebViewClient(新WebViewClient(){ @覆蓋公共無效onReceivedError(的WebView視圖,INT的errorCode,字符串描述,字符串failingUrl){ mywebView.loadUrl(」 file:///android_asset/error.html「); }});

當我在主要活動中使用上面的代碼時,Error頁面或加載圖標一次正在工作。 (覆蓋對方)。

我不理解我錯在哪裏。任何人都可以請幫我解決這個問題嗎?提前致謝。

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

正如我寫的...所有3個方法在一個類...布拉沃。 – Selvin

+0

是我的朋友。 thnx想法。 :) –

+0

我重新格式化了我的問題。但是你還沒有復出它。 –

相關問題