我正在尝试enter link description here
动态地为单个和2dim数组添加值, 但是在添加值时会显示空指针
这是我的代码
Arr points1[];
points1 = new Arr[listItemList.size()];
for(int i=0;i<listItemList.size();i++)
{
ListItemReminderSummary listItem = listItemList.get(i);
Log.i("listItem.Car_Id", listItem.Car_Type);
points1[i].Car_Id = listItem.Car_Id;
points1[i].Car_Type = listItem.Car_Type;
}
for(int i=0;i<listItemList.size();i++)
{
System.out.println( points1[i].Car_Id + points1[i].Car_Type);
}
points1[i].Car_Id = listItem.Car_Id;
任何建议, thnx提前。
答案 0 :(得分:2)
初始化Array中的项目......
for (int i = 0; i < listItemList.size(); i++) {
ListItemReminderSummary listItem = listItemList.get(i);
Log.i("listItem.Car_Id", listItem.Car_Type);
points[i] = new Arr();
points1[i].Car_Id = listItem.Car_Id;
points1[i].Car_Type = listItem.Car_Type;
}
答案 1 :(得分:0)
您必须初始化数组的单元格。
for(int i=0;i<listItemList.size();i++){
points[i] = new Arr();
}
答案 2 :(得分:0)
您没有为 Arr 分配内存,这就是您尝试取消引用未初始化指针(即写入随机内存块)的原因,这是未定义的行为。
更改你开始2行
Arr points1[] = new Arr[listItemList.size()];
for (int i = 0; i < listItemList.size(); i++)
{
ListItemReminderSummary listItem = listItemList.get(i);
Log.i("listItem.Car_Id", listItem.Car_Type);
points1[i].Car_Id = listItem.Car_Id;
points1[i].Car_Type = listItem.Car_Type;
}
答案 3 :(得分:0)
你确定listItemList.get(i)返回一个值吗?也许没有任何回报。