如何在android中的ArrayList中存储数据库列?

时间:2015-10-28 13:10:15

标签: android arraylist

在这里,我想将数据存储在ArrayList可见的部分,请帮助我......

这是我的代码。

 public DataSingleton() {
    try {
        db = openOrCreateDatabase("/sdcard/Download/Nanhikali_db.db", Context.MODE_PRIVATE, null);

        Cursor c = db.rawQuery("select label from nanhikali where level = 1", null);
        if (c.moveToFirst()) {
            while (c.moveToNext()) {
                String lb = c.getString(c.getColumnIndex("label"));
                visibleSections.add(lb);
                visibleSections = new ArrayList<>();
            }
        }
    }
        catch(Exception e)
        {

        }

2 个答案:

答案 0 :(得分:0)

您的列字符串可能错误: 试试这样。

if(c.moveToFirst()){
     while(c.moveToNext()){
        String lb = c.getString(c.getColumnIndex("label"));
        visibleSections.add(lb);
     }
}

不是“lebel”。

答案 1 :(得分:0)

每次循环迭代时,您都要重新分配数组列表。 remove visibleSections = new ArrayList&lt;&gt;();从你的循环。 并使用While Loop as

while(!cursor.isAfterLast())
{
    //get All data here then
     cursor.moveToNext();
}