我正在进行sax XML解析。
Logcat错误,如...
java.lang.IndexOutOfBoundsException: Invalid index 11, size is 11
我在
处收到错误map.put("pubdate", sitesList.getPubdate().get(i));
for (int i = 0; i < sitesList.getName().size(); i++) {
System.out.println("value of i==============>"+i);
HashMap<String, String> map = new HashMap<String, String>();
System.out.println("\nvalue of title==============>"+ sitesList.getName().get(i));
map.put("title", sitesList.getName().get(i));
map.put("pubdate", sitesList.getPubdate().get(i));
map.put("desc", sitesList.getDesc().get(i));
items.add(map);
}
谢谢大家。
答案 0 :(得分:2)
您确定sitesList.getName()的sitesList.getPubdate()大小相同吗?
因为该异常的唯一原因是sitesList.getName()大于sitesList.getPubdate():)
答案 1 :(得分:1)
我认为这里是sitesList的大小,
使用sitesList.size()
代替 sitesList.getName().size()
for (int i = 0; i < sitesList.size(); i++) {
System.out.println("value of i==============>"+i);
HashMap<String, String> map = new HashMap<String, String>();
System.out.println("\nvalue of title==============>"+ sitesList.get(i).getName());
map.put("title", sitesList.get(i).getName());
map.put("pubdate", sitesList.get(i).getPubdate());
map.put("desc", sitesList.get(i).getDesc());
items.add(map);
}
答案 2 :(得分:0)
你的循环看起来像:
for (int i = 0; i < sitesList.size(); i++) {
System.out.println("value of i==============>"+i);
HashMap<String, String> map = new HashMap<String, String>();
System.out.println("\nvalue of title======>"+ sitesList.get(i).getName());
map.put("title", sitesList.get(i).getName());
map.put("pubdate", sitesList.get(i).getPubdate());
map.put("desc",sitesList.get(i).getDesc());
items.add(map);
}
答案 3 :(得分:0)
感谢所有人, 最后我得到了解决方案对于我的问题,这里的sitesList.getName()比sitesList.getPubdate()大,所以现在我用
for(int i = 0; i&lt; sitesList.getPubdate()。size(); i ++)代替
for(int i = 0; i&lt; sitesList.getName()。size(); i ++)
for (int i = 0; i < sitesList.getPubdate().size(); i++) {
System.out.println("value of i==============>"+i);
HashMap<String, String> map = new HashMap<String, String>();
map.put("title", sitesList.getName().get(i));
map.put("pubdate", sitesList.getPubdate().get(i));
map.put("desc", sitesList.getDesc().get(i));
items.add(map);
}