当前位置:  开发笔记 > 前端 > 正文

Webview从资源目录加载html

如何解决《Webview从资源目录加载html》经验,为你挑选了3个好方法。

我正在尝试从assets目录加载一个html页面.我尝试了这个,但它失败了.

public class ViewWeb extends Activity {  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        WebView wv;  
        wv = (WebView) findViewById(R.id.webView1);  
        wv.loadUrl("file:///android_asset/aboutcertified.html");   // fails here
        setContentView(R.layout.webview);  
    }  
}

我在LogCat中没有任何明显的错误...



1> Robby Pond..:

您在设置"内容"视图之前获取WebView,因此wv可能为null.

public class ViewWeb extends Activity {  
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);
            setContentView(R.layout.webview);  
            WebView wv;  
            wv = (WebView) findViewById(R.id.webView1);  
            wv.loadUrl("file:///android_asset/aboutcertified.html");   // now it will not fail here
        }  
    }


这似乎不再适用于honeycomp.达姆.

2> duggu..:

无论何时创建活动,都必须setcontentview在超级调用后添加(您的布局).因为setcontentview将xml绑定到您的活动中,这就是您获得的原因nullpointerexception.

 setContentView(R.layout.webview);  
 webView = (WebView) findViewById(R.id.webView1);
 wv.loadUrl("file:///android_asset/xyz.html");



3> 小智..:
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView wb = new WebView(this);
        wb.loadUrl("file:///android_asset/index.html");
        setContentView(wb);
    }


keep your .html in `asset` folder


这几乎与接受的答案相同
Andoid doc指的是`assets` https://developer.android.com/tools/projects/index.html在任何一种情况下均不起作用,除非我的资产文件夹位于`main`中当前的错误文件夹中
推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有