Пустой указатель возвратов BitmapFactory.decodeFile даже отображает, существует

Сохранить файл:

FileOutputStream fo = null; 
try { 
        fo = this.openFileOutput("test.png", Context.MODE_WORLD_READABLE); 
} catch (FileNotFoundException e) { 
        e.printStackTrace(); 
} 
bitmap.compress(CompressFormat.PNG, 100, fo)

Загрузка файла:

String fname = this.getFilesDir().getAbsolutePath()+"/test.png"; 
Bitmap bMap = BitmapFactory.decodeFile(fname);
i.setImageBitmap(bMap);

Последняя строка дает исключение нулевого указателя, почему BitmapFactory.decodeFile возвращает пустой указатель? Я могу проверить, что файл становится сохраненным правильно, поскольку я могу вытянуть его с помощью adb и видеть, что png отображается правильно.

11
задан einverne 19 September 2016 в 04:06
поделиться

1 ответ

Если NullPointerException находится непосредственно в этой строке:

i.setImageBitmap (bMap);

Тогда ваша проблема в том, что i равно нулю . Учитывая, что вы вызываете setImageBitmap (), я предполагаю, что i является ImageView - убедитесь, что ваш вызов findViewById () работает.

Кроме того, вы должны использовать следующее, чтобы получить fname :

String fname = new File (getFilesDir (), "test.png"). GetAbsolutePath ();

20
ответ дан 3 December 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: