отображать изображение из byteArray

У меня есть класс Main с методом has onCreate () . в этом методе я сделал объект класса MapFile. и вызвал его методы readFile () и readIndex () . в методе readIndex () я вызываю другой класс с именем MapTile , где я читаю плитки изображений из моего двоичного файла и там мне нужно отобразить свое изображение.

Вопрос в том, как можно Я отображаю изображение, не помещая свой код в метод onCreate (Bundle saveInstanceStare) ? Я пытаюсь таким образом, но в первой строке это дает мне NullPointerException .

ImageView image = (ImageView) findViewById(android.R.id.icon);           
Bitmap bMap = BitmapFactory.decodeByteArray(imageTile, 0, imageTile.length);
image.setImageBitmap(bMap);
22
задан Luiggi Mendoza 27 January 2017 в 14:15
поделиться

1 ответ

Я думаю, ваша проблема не в byteArray, а в findViewById . Как вы говорите, NPE стоит на первой строчке. В отношении этого метода существуют правила, у вас есть два варианта его вызова:

Либо вы используете его для запроса представления, которое у вас уже есть в макете, который вы вызвали в setContentView
, либо вы используете его для представления, содержащегося в макет, который вы накачали вручную с помощью надувного устройства макета

. Если вы попытаетесь использовать его в своей деятельности для вызова представления из любого другого макета, кроме того, который вы не накачивали сами, в setContentView , он вернет нулевой.

6
ответ дан 29 November 2019 в 04:46
поделиться
Другие вопросы по тегам:

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