2012-02-21 64 views
0

我已经尝试了以下方法,但没有成功。 我的项目是使用API​​级别4Android:如何从res/drawable中检索图像并将其放入WebView.loadUrl()

from stackoverflow

from android documentation

这里是我的代码:

webView.loadUrl("android.resource://com.package.name.from.manifest/" + R.drawable.pic); 

而且我得到了以下错误的网页视图控件:

网页不可用

在 android.resource的网页://com.package.name.from.manifest/2130837504可能 暂时关闭或已永久移动到新的网络 地址。

我错过了什么吗?我应该创建一个html页面,其中包含一个指向资源的链接< img ...>标签?

回答

2

最后,我也做了以下内容:

我不得不在每一个资源的图像文件扩展名的数组。 然后我可以使用资源ID和它的文件扩展名来调用以下方法。

protected String getResourceURL(int resourceId, String extension) { 
    String resName = getResources().getResourceName(resourceId); 
    int index = resName.indexOf("/"); 
    resName = resName.substring(0, index); 
    index = resName.indexOf(":"); 
    String resType = resName.substring(index + 1); 

    StringBuilder link = new StringBuilder(128); 
    link.append("file:///android_res/"); 
    link.append(resType).append("/"); 
    link.append(getResources().getResourceEntryName(resourceId)); 
    link.append(".").append(extension); 
    return link.toString(); 
} 
-3

我希望这是有帮助的.. 对于来自RES /绘制图像获取..

Resources res = getResources(); 
Drawable drawable = res.getDrawable(R.drawable.myimage); 
+0

我想你不明白我的问题。 WebView.loadUrl(String url)。我怎样才能从Drawable接收链接? – Genry 2012-02-21 18:08:45

2

我相信你应该有你的可绘制的资产/文件夹中,然后通过URI是指他们在形式例如,file:///android_asset/drawable_name.png

+0

这可能会工作,但我不想检索文件,因为文件可以是不同的扩展名,但名称相同。例如:在几次文件可以是01.png,其他可以是01.jpg – Genry 2012-02-21 18:12:01

+1

这意味着,我需要一个链接,它将直接通过资源id检索资源,而不是文件名 – Genry 2012-02-21 18:30:56

1

你可以得到像这样的图像路径。

文件:/// android_res /绘制/ YOUR_FILE_NAME

通过此路径html.It标记会工作。

相关问题