NullPointerException для Image.createImage (путь) - PullRequest
1 голос
/ 04 июля 2019

Этот код дает мне NullPointerException на Image.createImage(path) в цикле for. Как это возможно?

Я использую массив для имени, один для пути и ArrayList для кнопок.

private final String[] IMG_MENU = {"/timbratura.png", "/archivio.png", "/nota_spese.png"};
private final String[] LABEL_BOTTONI_HOME = {"Timbratura", "Archivio", "Nota spese"};
private ArrayList<Button> bottoni = new ArrayList<>();

Я создаю несколько кнопок, устанавливаю значок как сгенерированное изображение и добавляю его к ArrayList.

for(int i = 0; i < LABEL_BOTTONI_HOME.length; i++) {
  Button b = new Button(LABEL_BOTTONI_HOME[i]);

  try {
      Image im = Image.createImage(IMG_MENU[i]);
      im = im.scaled(screen_width/100*20, screen_width/100*20);
      b.setIcon(im);        
  } catch (IOException ex) {
      Log.e(ex);
  }

  bottoni.add(b);
}

1 Ответ

0 голосов
/ 05 июля 2019

Убедитесь, что изображения действительно есть (в каталоге 'src' и в конце концов в банке) и имеют точно такое же имя с учетом регистра. Я настоятельно рекомендую добавить изображения в файл ресурсов и использовать getImage в теме, чтобы получить их оттуда, поскольку это более переносимый подход.

...