La llamada a `getDrawingCache` devuelve un valor 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);

Respuestas a la pregunta(1)

Su respuesta a la pregunta