我有一个课程MenuDesc
,当我尝试初始化时,它正在给nullpointerexception error
。
public static class SlideMenuAdapter extends ArrayAdapter<SlideMenu.SlideMenuAdapter.MenuDesc> {
static class MenuDesc {
public int icon;
public String label;
}
}
SlideMenuAdapter.MenuDesc[] items = new SlideMenuAdapter.MenuDesc[5];
//fill the menu-items here
items[0].label="uday";
items[1].label="ravi";
items[2].label="rahul";
我收到了nullpointer错误。
答案 0 :(得分:3)
在Java或Android中,您必须实例化对象。
items[0] = new SlideMenuAdapter.MenuDesc();
对于你的情况,你需要在赋值之前循环来初始化对象
for (int i = 0; i < 5 ; i++)
items[i] = new SlideMenuAdapter.MenuDesc();
答案 1 :(得分:1)
最好的方法是:
public static class SlideMenuAdapter extends ArrayAdapter<SlideMenu.SlideMenuAdapter.MenuDesc> {
static class MenuDesc {
public int icon;
public String label;
MenuDesc(final String label) {
this.label = label;
}
}
}
SlideMenuAdapter.MenuDesc[] items = new SlideMenuAdapter.MenuDesc[] {
new SlideMenuAdapter.MenuDesc("uday"),
new SlideMenuAdapter.MenuDesc("ravi"),
new SlideMenuAdapter.MenuDesc("rahul")
};