【问题标题】:How to store the entire table data in android?如何在android中存储整个表数据?
【发布时间】:2012-01-27 14:23:32
【问题描述】:

我将我的 sqlite 表数据存储在 arraylist 中。在我的项目中,我根据问题 ID 获得该问题的问题和选项。在我的选项数据库表中,我有 4 列和 5 行(因为 5 个选项行数 = 5) 列 1:选项 ID 第 2 列:问题 列 3:option_description 专栏4:回答

我将此表值存储在数组列表中。现在我需要将数组列表传递给其他页面。但是在 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);
}

现在,当我将此选项列表数组传递到其他页面时,该列表仅包含表格的最后一行。如何将所有 5 行数据存储到该数组列表中? 提前致谢

【问题讨论】:

    标签: android


    【解决方案1】:

    看看这段代码,

    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 的字符串格式的值..

    希望你能理解。

    谢谢..

    【讨论】:

    • 您好实际上为将选项设置为 textview 我采用了新的 arraylist 选项列表。我将stringlist3直接发送到其他页面...谢谢您的建议...
    • Hi in stringList3 array 一次只存储 1 行数据...如何存储 4 行数据,以便我可以将整个 stringlist3 数组传递到其中有 4 行的其他页面?跨度>
    • query2 = "SELECT * FROM 'iapp_options' WHERE question_id= list1.get(0)); stringList3 = new ArrayList>(); stringList3 = dbAdapter.selectRecordsFromDBList(query2, null ); System.out.println("tringlist3中的选项"+stringList3);.....一次stringList3包含stringlist3[[1, 111, option1, 1], [2, 111, option2, 1], [ 3, 111, option3, 1], [4, 111, option4, 1], [5, 111, option5, 0]]
    • 对于相同的问题 5 个选项...所以在显示第一个问题时它正在存储第一个问题选项...对于第二个问题它正在显示第二个问题选项等等....当我将 stringlist3 数组列表传递到新页面,因此只显示最后一个问题选项....
    • 和以前一样的错误。您的数据库查询仅返回一行,并且您正在向它添加一个新的 stringList3。所以在 stringList3 中只有一行结果。
    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 2020-11-01
    • 2013-01-21
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    相关资源
    最近更新 更多