如何在android中存储整个表数据?

时间:2012-01-27 06:08:36

标签: android

我将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中? 在此先感谢

1 个答案:

答案 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的所有值。

希望你能理解它。

谢谢..