2017-02-02 9 views
0

Ich versuche, benutzerdefinierte Fehlermeldung für meine App zu erstellen, die Webview verwendet. Bis jetzt benutze ich unter Code, der ein sehr minimales Problem hat ... wenn ich auf Links in der Webansicht klicke, lädt die Seite dieselbe Seite neu, anstatt die angeklickte Verbindung zu bearbeiten. meine Links auf die Webansicht sind Download-Link so entweder sollte es nach unten Loader-OptionenSo zeigen Sie benutzerdefinierte Fehlermeldung in Webansicht

protected void fetch_web(){ 
    final WebView web; 
    web = (WebView) findViewById(R.id.voice_mail_view_port); 
    NoNetwork = (Button) findViewById(R.id.btn_no_internet); 
    NoNetwork.setVisibility(View.GONE); 
    String mdb = "http://192.168.23.1/default.php"; 

    getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 
    final Activity MyActivity = this; 
    web.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) 
     { 

      MyActivity.setTitle("Fetching feeds..."); 
      MyActivity.setProgress(progress * 100); 

      loader(); 

      if(progress == 100) { 
       MyActivity.setTitle(R.string.app_name); 
       deLoader();; 
      } 
     } 
    }); 
    web.setWebViewClient(new WebViewClient() { 
     public void onReceivedError(WebView view, int errorCode, String description, String 
       failingUrl) { 
      deLoader(); 
      alert("No Internet Connection","Let's get connected to see feeds"); 
      web.setVisibility(View.GONE); 
      NoNetwork.setVisibility(View.VISIBLE); 
     } 
    }); 
    web.getSettings().setJavaScriptEnabled(true); 
    web.loadUrl((mdb)); 
} 
protected void loader(){ 
    loading = (ProgressBar) findViewById(R.id.loader); 
    loading.setVisibility(View.VISIBLE); 
} 
protected void deLoader(){ 
    loading = (ProgressBar) findViewById(R.id.loader); 
    loading.setVisibility(View.INVISIBLE); 
} 

Beispiel Download-Link http://192.168.23.1/download.php?id=1

mit der gleichen App oder öffnen Download Kann jemand mir helfen, ich vermute, mein Fehler kommt von hier

web.setWebViewClient(new WebViewClient() { 
    public void onReceivedError(WebView view, int errorCode, String description, String 
      failingUrl) { 
     deLoader(); 
     alert("No Internet Connection","Let's get connected to see feeds"); 
     web.setVisibility(View.GONE); 
     NoNetwork.setVisibility(View.VISIBLE); 
    } 
}); 

Antwort

0

Versuchen Sie, die App zwingen zu öffnen Links in anderen Browsern

Intent intent= new Intent(Intent.ACTION_VIEW,Uri.parse(url)); 
startActivity(intent); 

Wenn es fehlschlägt, lassen Sie mich wissen, um mehr zu helfen.

+0

Arbeitete perfekt. Vielen Dank – LazyLoading

Verwandte Themen