Intereting Posts
Отображение нескольких строк текста и переменных в AlertDialog с помощью setMessage () Невозможно установить значение свойства «только для чтения» «jniFolders» для задачи: android: packageDebug ' КоординаторLayout с панелью инструментов и фрагментом Получить высококачественное изображение профиля из GoogleSignInAccount Можно ли расколоть растровое изображение на мелкие кусочки, не загружая все это в память? Тестирование неактивных классов в Android Усовершенствования реализации WakefulIntentService Android: Как использовать класс диспетчера загрузки? AndEngineRuntimeException: обнаружено обнаружение несовместимого устройства. ANDROID: анализ XML Замена драйвера сенсорного экрана в Android-ядре Как использовать exoplayer для Android Android – адаптер ViewPager, устанавливает первичный элемент перед созданием адаптера Используя пакет для передачи данных между фрагментом и другим примером фрагмента Android получить эскиз изображения, хранящегося на SD-карте, чей путь известен

Как скрыть страницу ошибки WebView. Является ли это возможным?

Я искал и нашел похожие вопросы, но они в основном говорят, как изменить содержимое webView, а не как скрыть его.

Мой webView изначально скрыт с помощью android: visibility = "gone" в main.xml, я меняю его динамически на видимый с помощью myWebView.setVisibility (1); Когда страница полностью загружена (и она работает). Теперь я хочу скрыть этот 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. // } } 

Есть идеи?

Solutions Collecting From Web of "Как скрыть страницу ошибки WebView. Является ли это возможным?"

Это моя идея:

  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){ view.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; } });