2

我有一个网络视图。我想获取它的绘图缓存并将其保存为 sdcard 中的文件。我使用了以下代码:

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);

它的显示正确。

4

1 回答 1

2

您是否在“如果是”中立即使用此方法,onCreate()?那么您可能必须考虑覆盖以下方法,

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

一旦你的视图被绘制,这个方法就会被调用。这就是您可以看到的地方。

于 2012-05-22T09:27:31.823 回答