我将sqlite表数据存储在arraylist中。在我的项目中,我根据问题ID得到了该问题的问题和选项。在我的选项数据库表中,我有4列5行(因为5个选项,行数= 5) column1:optionid 第2栏:quesid column3:option_description 第4栏:回答
我将此表值存储在arraylist中。现在我需要将arraylist传递给其他页面。但是在arraylist中,表中只有一行是一次保存。所以我想存储该arraylist中的所有行。我怎么能这样做?
我的代码:
static ArrayList<ArrayList<String>> stringList3;
static ArrayList<String> optionlist;
query2 = "SELECT * FROM 'iapp_options' WHERE question_id = list1.get(0))+";";
stringList3 = new ArrayList<ArrayList<String>>();
stringList3 = dbAdapter.selectRecordsFromDBList(query2, null);
for (int i = 0; i < stringList3.size(); i++) {
optionlist = new ArrayList<String>();
optionlist = stringList3.get(i);
}
现在,当我将此optionlist数组传递给其他页面时,该列表仅包含该表的最后一行。如何将所有5行数据存储到该arraylist中? 在此先感谢
答案 0 :(得分:0)
看看这段代码,
for (int i = 0; i < stringList3.size(); i++) {
optionlist = new ArrayList<String>();
optionlist = stringList3.get(i);
}
每次制作新的ArrayList optionlist
并覆盖其上的值。因此,您只获得一个具有最后值的ArrayList选项列表。
为什么不将stringList3
传递给其他活动而不是使用额外的ArrayList ..
或者用stringList3的所有值填充完整的选项列表..
optionlist = new ArrayList<String>();
for (int i = 0; i < stringList3.size(); i++) {
for (int j = 0; j < stringList3.get(i).size(); j++)
optionlist = stringList3.get(i).get(j);
}
现在,这将导致optionlist
以字符串格式显示stringList3
的所有值。
希望你能理解它。
谢谢..