2012-02-21 63 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標記會工作。

相關問題