这段代码在for循环中给了我NullPointerException
上的Image.createImage(path)
。
这怎么可能?
我使用一个数组作为名称,一个用于路径,一个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);
}
最佳答案
检查图像是否确实存在('src'目录,最后在jar中),并具有完全相同的区分大小写的名称。我强烈建议将图像添加到资源文件中,并在主题上使用getImage
从那里获取它们,因为这是一种更可移植的方法。
关于ios - NullPointerException on Image.createImage(path),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56887730/