Llamar a `getDrawingCache` devuelve nulo cuando el desplazamiento está habilitado

¿Qué falta en este código? Este mismo código funciona en ICS. En la API 8, aparece el desplazamiento y parte del contenido sale de la pantalla. ¿Cómo obtener el caché de dibujo en este caso?

Código:

TableLayout page = (TableLayout) findViewById(R.id.page); page.setDrawingCacheEnabled(true); page.buildDrawingCache(); // getDrawingCache returns null... Bitmap pageBmp = Bitmap.createBitmap(page.getDrawingCache(true)); page.destroyDrawingCache(); page.setDrawingCacheEnabled(false); 

Lo solucioné Creó un bitmap del tamaño de la vista y dibujó la vista en él.

 TableLayout page = (TableLayout) findViewById(R.id.page); Bitmap pageBmp = Bitmap.createBitmap(page.getWidth(), page.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(pageBmp); page.draw(canvas); 

Usó el bitmap pageBmp ..