2016-06-22 20 views
1

Hallo an alle ich habe ein Problem, ich lege die ganze Datei wie HTML, CSS, JS in Assets Ordner, aber es zeigte mir nicht in einer Webansicht. Überprüfen Sie die Bilder. Index.html filewebview kann nicht laden index.html

Und dies der Ordner Vermögenswerte Assets

Hier ist der Code in der MainActivity

public class MainActivity extends AppCompatActivity { 

    WebView webView; 
    WebSettings webSettings; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     webView=(WebView)findViewById(R.id.webView); 
     assert webView != null; 
     webView.loadDataWithBaseURL("file:///assets/index.html","text/html","utf-8",null,null); 

     webSettings = webView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 

     //////////////////////////////// 

    } 
} 

Antwort

0

Online-Suche es, wie Sie url verwenden müssen android_asset statt assets auf dem Weg sieht. Es sieht auch so aus, als wäre Ihre index.html in einem anderen Ordner namens themes, so dass die korrekte URL "file:///android_asset/themes/index.html" wäre. Wenn ich das Bild nur falsch angesehen habe, ist die korrekte URL "file:///android_asset/index.html". Verwenden Sie stattdessen webView.loadUrl("file:///android_asset/index.html");, da Sie die andere Methode nicht korrekt verwenden. Documentation

+0

nein im Ordner Vermögenswerte gibt es zwei Unterordner 10) Bilder 2) Thema –

+0

Sorry, ich war unklar, ich habe meine Antwort @DanishButt –

+0

es zeigt mir weiße leere Seite. –

0

loadDataWithBaseUrl() hat 5 params: baseUrl, data, mimeType, encoding und historyUrl. Ihre App versucht als Daten "text/html" mit mimeType == utf8 zu laden. Alle Parameter sind durcheinander.

Und diese Methode funktioniert auf andere Weise. WebView lädt nicht baseUrl, WebView lädt einige HTML aus dem zweiten Parameter data.