Android Webview, если нет интернет-ошибки Пользовательская страница

Я наткнулся на этот пост, когда искал способ снять дополнительное форматирование с man-страниц. ansifilter сделал это, но это было далеко от желаемого результата (например, все ранее выделенные символы дублировались, например SSYYNNOOPPSSIISS).

Для этой задачи правильной командой будет col -bx, например:

groff -man -Tascii fopen.3 | col -bx > fopen.3.txt

(источник)

0
задан Yunus CATMA 30 March 2019 в 23:06
поделиться

1 ответ

Если вы хотите обработать ошибку в WebView, вы должны переопределить onReceivedError в соответствии со следующим кодом,

private class MyWebViewClient extends WebViewClient {
.
.
.

   // api<23
   @Override
   public void onReceivedError(WebView view, int errorCode, String description, String url) {
        view.stopLoading();
        webview.loadUrl("file:///android_asset/error/error.html"); // load error page from asset folder

// handle error

    }

  // api> 23
  @Override
  @TargetApi(android.os.Build.VERSION_CODES.M) 
  public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    view.stopLoading();
    webview.loadUrl("file:///android_asset/error/error.html"); // load error page from asset folder

// handle error

//          super.onReceivedError(view, request, error);
  }
.
.
.

}

, вы также можете проверить соединение в shouldOverrideUrlLoading, и, если не подключено, загрузить страницу ошибки, попробуйте это:

public boolean shouldOverrideUrlLoading(WebView view, String url) {


            if (!isNetworkAvailable(getApplicationContext())) {
                showCustomErrorPage();
                return true;
            }
.
.
.

}

showCustomErrorPage функция:

private void showCustomErrorPage() {

   webview.loadUrl("file:///android_asset/error/error.html");

}
0
ответ дан MN. Vala 30 March 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: