2012-05-22 17 views
2

我有一個webview。我想獲得它的圖形緩存,並將其保存爲SD卡中的文件。我用下面的代碼:無法獲取WebView的繪圖緩存:android

WebView wv=new WebView(this); 
wv.loadData(rawHtml,"text/html",null); // rawHtml is my html code 
wv.buildDrawingCacheEnabled(true); 
Bitmap bmp=wv.getDrawingCache(); 

不知道爲什麼wv.getDrawingCache()總是返回null。 我已經測試了我的html代碼:

setContentView(wv); 

它的顯示正常。

+0

處理webviewCLient的onPageFinish()方法並在其中編寫此代碼以獲取繪圖緩存。 – Dharmendra

回答

2

您在onCreate()?立即使用此方法如果是,那麼你可能要考慮重寫以下方法,

@Override 
public void onWindowFocusChanged(boolean hasFocus) 
{ 
    // TODO Auto-generated method stub 
    super.onWindowFocusChanged(hasFocus); 
    Bitmap bmp=wv.getDrawingCache(); 
} 

,此方法被只要你的觀點被稱爲繪製。這就是你將會看到的地方。

+0

我不想讓webview設置爲我的活動。我只是用setContentView()來測試它以知道html部分是否正確。它顯示正確。 –

+0

我只想要一個webview的圖像位圖 –