Ho cercato e ho trovato domande simili, ma in genere dicono come modificare il contenuto della visualizzazione Web, non come nasconderlo realmente.Come nascondere la pagina di errore di WebView. È possibile?
La mia webView è inizialmente nascosta usando android: visibility = "gone" in main.xml, lo cambio dinamicamente in visibile con myWebView.setVisibility (1); quando la pagina è completamente caricata (e funziona). Ora, voglio nascondere questa webView quando viene rilevato un errore. Il motivo per cui ho voluto nasconderlo è perché ho un bel background nel layout che informa sull'errore. So che questo non è l'approccio migliore per farlo, e probabilmente lo cambierò più tardi, ma ora, quello che vorrei risolvere è perché la webView non stia nascondendo quando si verifica un errore (solo per divertimento, forse).
Questo è quello che ho provato:
@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.
// }
}
Tutte le idee?
Nessuna scusa necessaria, è una buona domanda – QED
È possibile visualizzare una pagina personalizzata, invece di una pagina di errore. http://stackoverflow.com/questions/4101331/how-to-edit-or-create-custom-error-page-for-webview –