<分区>
我目前正在制作一个 android 应用程序,它需要将一些数据临时保存为数组列表(字符串)的数组列表,但是当我试图绕过它们时,添加虚拟数据并将其打印到depug stream,我没有得到我期望的数据,而是最后添加的数据行三次。如果这确实有意义,这里就是代码。
ArrayList<ArrayList<String>> module_list = new ArrayList<ArrayList<String>>();
ArrayList<String> new_row = new ArrayList<String>();
new_row.add(module_description,"Description0");
new_row.add(module_address, "Address0");
new_row.add(module_type, "Type0");
module_list.add(0,new_row);
new_row.add(module_description, "Description1");
new_row.add(module_address,"Address1");
new_row.add(module_type, "Type1");
module_list.add(1,new_row);
new_row.add(module_description, "Description2");
new_row.add(module_address, "Address2");
new_row.add(module_type,"Type2");;
module_list.add(2, new_row);
for(int row = 0; row<module_list.size() ; row++) {
ArrayList<String> returned_row = new ArrayList<String>();
returned_row = module_list.get(row);
Log.d("APP", "Row: "+ Integer.toString(row));
Log.d("APP", "Module description: " + returned_row.get(module_description));
Log.d("APP", "Module address: " + returned_row.get(module_address));
Log.d("APP", "Module type: " + returned_row.get(module_type));
}
本来打算依次打印arraylist每一行的内容,结果却得到:
Row: 0
Module description: Description2
Module address: Address2
Module type: Type2
Row: 1
Module description: Description2
Module address: Address2
Module type: Type2
Row: 2
Module description: Description2
Module address: Address2
Module type: Type2
这是添加的最后一行,但代替了所有行。以前有人遇到过这样的问题吗?如有任何建议,我们将不胜感激。