2016-02-03 2 views
0

Я хочу показать свой локальный файл HTML в WebView .I использовать эти коды:Как показать локальный файл html в webview?

WebView wv; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    wv=new WebView(this); 
    setContentView(wv); 

    try { 
     InputStream stream = this.getAssets().open("index.html"); 
     int sreamsize = stream.available(); 
     byte[] bufer = new byte[sreamsize]; 
     stream.read(bufer); 
     stream.close(); 
     String html= new String(bufer); 
     wv.loadData(html, "text/html", "UTF-8"); 

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

Теперь я могу видеть элементы в WebView с вне CSS и JS эффект. Как это решить?

+2

Попытка добавления этого: 'WebSettings webSettings = wv.getSettings(); webSettings.setJavaScriptEnabled (true); ' – camelCaseCoder

+0

camelCaseCoder: не работает – programmer138200

ответ

3

Попробуйте это: -

WebView wv; 
    wv = (WebView) findViewById(R.id.webView1); 
     WebSettings webViewSettings = wv.getSettings(); 
     webViewSettings.setJavaScriptEnabled(true); 
     webViewSettings.setDomStorageEnabled(true);    
     wv.loadUrl("file:///android_asset/index.html"); 
1

Вы пробовали просто делать wv.loadUrl("file:///android_asset/index.html");?

2

Попробуйте заменить

try { 
    InputStream stream = this.getAssets().open("index.html"); 
    int sreamsize = stream.available(); 
    byte[] bufer = new byte[sreamsize]; 
    stream.read(bufer); 
    stream.close(); 
    String html= new String(bufer); 
    wv.loadData(html, "text/html", "UTF-8"); 

} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

с

wv.loadUrl("file:///android_asset/index.html"); 

И попробуйте еще раз.

Update

Для JS ГЭТ работает отлично попробовать

WebSettings webViewSettings = wv.getSettings(); 
webViewSettings.setJavaScriptEnabled(true); 
webViewSettings.setDomStorageEnabled(true); 

качестве предпочтительного @Sabari.

+0

Я использую case и css загружается полностью, но js-эффекты не работают – programmer138200

2

Попробуйте это: -

WebView wv; 
    wv = (WebView) findViewById(R.id.webView1); 
    wv.loadUrl("file:///android_asset/index.html"); 
Смежные вопросы