2017-02-09 1 views
0

Ich möchte auf eine about.html Seite im Asset-Ordner durch Klicken auf eine Schaltfläche in index.html in android webview laden.Android Webview href nicht unterstützt in html Seite

Hier ist der Code:

Button:

<a href="about.html">About</a> 

Java:

WebView browser = (WebView) findViewById(webview); 
    browser.getSettings().setJavaScriptEnabled(true); 
    browser.setWebChromeClient(new WebChromeClient()); 
    browser.loadUrl("file:///android_asset/www/index.html"); 
    browser.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
    }); 

Aber das Problem ist, wenn ich auf die Schaltfläche klicken es nicht about.html laden, aber wenn ich Fügen Sie eine JavaScript-Funktion mit unten Code es funktioniert .. aber ich möchte href verwenden.

Code:

<button onclick="about()">About</button> 
<script> 
     function about() { 
      location.href = "about.html"; 
     } 
</script> 

Wie kann ich es lösen?

Antwort

0

diesen Code versuchen Laden:

private void loadWebView(WebView webView,String htmlString) 
{ 
try { 
     final String mimeType = "text/html"; 
     final String encoding = "UTF-8"; 

      WebViewClient yourWebClient = new WebViewClient() 
      { 
       @Override 
       public boolean shouldOverrideUrlLoading(WebView view, String url) 
       { 
       // This line we let me load only pages inside Webpage 
       if (url.contains("") == true) 
        // Load new URL Don't override URL Link 
        return false; 

       // Return true to override url loading (In this case do nothing). 
       return true; 
       } 
      }; 


      // Get Web view 
      webView.getSettings().setJavaScriptEnabled(true); 
      webView.getSettings().setSupportZoom(true); 
      webView.getSettings().setBuiltInZoomControls(true); 
      webView.setWebViewClient(yourWebClient); 

      // Load URL 
      webView.loadDataWithBaseURL("", htmlString, mimeType, encoding, ""); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

wie es verwenden:

loadWebView(browser, "file:///android_asset/www/index.html") //pass url 
+0

versuchen Sie die Antwort ... es wird funktionieren – rafsanahmad007

Verwandte Themen