Исключение нулевого указателя на растровом изображении bitmap = content.getDrawingCache (); - PullRequest
1 голос
/ 15 ноября 2011

Я пытаюсь создать приложение, которое позволяет пользователям делать скриншоты текущего представления. Я использую следующий код для этого.

View content = ((Activity)ctx).findViewById(R.id.rootlayout);
Bitmap bitmap = content.getDrawingCache();
File file = new File("/sdcard/test.png");

try 
{
    file.createNewFile();
    FileOutputStream ostream = new FileOutputStream(file);
    bitmap.compress(CompressFormat.PNG, 100, ostream);
    ostream.close();
} 
catch (Exception e) 
{
    e.printStackTrace();
}

Однако я получаю исключение Null Pointer в следующей строке:

Bitmap bitmap = content.getDrawingCache();

Что бы это значило, что представление пустое?

Любая помощь будет отличной!

1 Ответ

2 голосов
/ 15 ноября 2011

Вам нужно позвонить content.setDrawingCacheEnabled(true);, прежде чем вы сможете использовать это. Затем позвоните content.setDrawingCacheEnabled(false);, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...