我已经从XML文件中解析了数据并将其存储在arraylist中。我想将arraylist的内容复制到hashmap.i m中给出代码。
ArrayList<String> items=new ArrayList<String>();
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
try {
XmlPullParser xpp=getResources().getXml(R.xml.call_record_request_structure);
while (xpp.getEventType()!=XmlPullParser.END_DOCUMENT) {
if (xpp.getEventType()==XmlPullParser.START_TAG) {
String name=xpp.getName();
String temp="productName";
//items.add(name);
if (name.equals(temp)) {
String pro=xpp.nextText();
items.add(pro);
int count=items.size();
for(int i=0;i<count;i++) {
map = new HashMap<String, String>();
map.put("product", items.get(i));
mylist.add(map);
}
}
}
xpp.next();
}
}
catch (Throwable t) {
Toast
.makeText(this, "Request failed: "+t.toString(), 4000)
.show();
}
SimpleAdapter mHistory = new SimpleAdapter(this,mylist , R.layout.prodlist_supp,
new String[] {"product"},
new int[] {R.id.products});
listview.setAdapter(mHistory);
但是当我运行代码时它会崩溃。任何人都可以帮助我
答案 0 :(得分:0)
试试这个:在循环结束后添加地图。
map = new HashMap<String, String>();
for(int i=0;i<count;i++) {
map.put("product", items.get(i));
}
mylist.add(map);
如果问题仍然存在,请显示您的堆栈跟踪。