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

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

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

 ImageView image = (ImageView) findViewById(android.R.id.icon); Bitmap bMap = BitmapFactory.decodeByteArray(imageTile, 0, imageTile.length); image.setImageBitmap(bMap); 

Solutions Collecting From Web of "Отображать изображение из byteArray"

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

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

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

Добавление байтового массива в образы вида android:

  //byte[] chartData ImageView imgViewer = (ImageView) findViewById(R.id.chart_image); Bitmap bm = BitmapFactory.decodeByteArray(chartData, 0, chartData.length); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); imgViewer.setMinimumHeight(dm.heightPixels); imgViewer.setMinimumWidth(dm.widthPixels); imgViewer.setImageBitmap(bm);