我正在尝试在我的应用程序中动态创建ExpandableListView。父行显示接下来7天的日期,我从Web服务中检索子项。但是,取出和展示孩子不是我的问题。我在动态显示父行时遇到麻烦。我需要在父行中显示接下来7天的日期。
我全局声明了这个空字符串数组。
private String[] parent = new String[7];
然后,在onCreate()中,我使用此代码创建父数组内容。
Calendar cal = Calendar.getInstance();
String strdate = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
int i;
for(i=0;i<7;i++)
{
if (cal != null) {
strdate = sdf.format(cal.getTime());
}
parent[i] = strdate;
cal.add(Calendar.HOUR_OF_DAY, 24);
}
但是,该活动在MyExpandableListAdapter.getGroupView()中给出了NullPointerException。
(也许是因为父数组最初没有被初始化?)
因为代码在我将父数组初始声明为
时有效private String[] parent = new String[] {"","","".....};
答案 0 :(得分:0)
我的解决方案:静态阻止就是答案。我把代码放在一个静态块而不是onCreate()
中创建父数组内容,现在它就像一个魅力。