java - 将 sqlite 中的数据放入 ArrayList<String>

标签 java android sqlite drag-and-drop arraylist

我正在使用代码this blog有一个可拖动的列表。本教程使用自定义 DragNDropAdapter 它将内容作为 ArrayList。

在我的 listActivity 中,我查询一个包含返回列 name 的表。它插入了 11 个值。 我尝试使用多种方法将其从 String[] 转换为 ArrayList,例如:

 String[] from = new String[]{DbManager.KEY_NAME};
 ArrayList<String> content = new ArrayList<String>();

 for (int i=-1,l=from.length; ++i<l;) {
            content.add(from[i]);
            //Log.i("ArrayList", from[i]);
        }

 while(!mShopCatCursor.isAfterLast()){
         content.add(mShopCatCursor.getString(0));
     }

我得到的是一个仅包含列名称的列表,name。 你有什么想法吗

最佳答案

您可以使用以下方法,该方法将从数据库获取数据,然后返回该数据的 String 的 ArrayList 。在您的情况下,此数组列表将包含名称。

private ArrayList<String> getArrayList() {

    ArrayList<String> namesList = null;

    Cursor cursor = null;
    try {
        String query = "";//your query here
        cursor = db.rawQuery(query,null);
        if (cursor != null && cursor.moveToFirst()) {
            namesList = new ArrayList<String>();
            do {
                namesList.add(cursor.getString(0));
            } while (cursor.moveToNext());
        }
    } catch (Exception e) {
        e.printStackTrace();
        namesList = null;
    } finally {
        if (cursor != null && !cursor.isClosed()) {
            cursor.deactivate();
            cursor.close();
            cursor = null;
        }
        close();
    }
    return namesList;
}


/**
 * Closes the database
 */
private void close() {
    try {
        if (db != null && db.isOpen()) {
            DBHelper.close();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

关于java - 将 sqlite 中的数据放入 ArrayList<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052987/

相关文章:

Android 生命周期库 : Cannot add the same observer with different lifecycles

java - 除非我关闭连接,否则准备好的语句的最后一批不会被写入

java - 在有状态 EJB 3.1 bean 中保持 session ?

java - 当系统从 hibernate 状态恢复时自动运行应用程序

java - 如何在选择时在卡片 View 上添加一个框?

android - 在图像之间滑动android

java - 如何禁用应用内设置按钮

java - Cassandra InvalidRequestException(为什么 :[MyKeyspace][MyColumnFamily][6675. ..6c74] = [6c86......e65720] 验证失败(字符串未验证。))

python - IronPython SQLite3操作错误: unable to open database file

java - 表 Ord 没有名为 _id 的列