【问题标题】:How to put this cursor data in ArrayLists - AndroidStudio如何将此光标数据放入 ArrayList - Android Studio
【发布时间】:2015-06-07 22:44:19
【问题描述】:

我有一个 cursorLoader,它返回一个带有这些数据的游标:

    0 {
    email=bogdan@gmail.com
    about=Party
    }
    1 {
    email=bogdan1@gmail.com
    about=Paaarty
    }
    2 {
    email=bogdan2@gmail.com
    about=activity 2
    }
    3 {
    email=bogdan3@gmail.com
    about=activity 3
    }
    4 {
    email=bogdan4@gmail.com
    about=activity 5
    }

如何将电子邮件保存在名为 emails 的 ArrayList 中,并将 about 保存在名为 about 的 ArrayList 中。我一直在用光标尝试不同的东西,但大多数时候我只是跳出边界。

编辑:这是这样打印它的行:

Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(cursor));

【问题讨论】:

  • 你为什么要这么做?
  • 将其传递到列表中。我从服务器获取这些数据。该列表正在运行。在执行此操作而不是存储数据之前,我只是将其直接保存在 ArrayLists 中并在活动之间传递。现在,我使用内容提供程序将其存储在数据库中,并使用加载程序获取它。问题是我不知道如何将它放入 ArrayLists 了。我的列表有一个自定义适配器,它以 2 个 ArrayList 作为参数并填充列表。
  • 错了,使用 SimpleCursorAdapter
  • 我想过这个问题,但我已经完成了所有工作,我选择了更简单的解决方案。我会调查的。存储它然后从 ArrayLists 使用它并直接使用它到 CursorAdapter 有什么区别?只是浪费资源和时间吗?
  • 我有一个 ListView 和一个 PagerView 都使用这些数据。我可以同时使用 SimpleCursorAdapter 吗?

标签: android arraylist android-studio


【解决方案1】:

如果您想按照自己的方式进行操作,也许这种方法会有所帮助(前提是您提供两个空的ArrayList)?

private void populateLists(Cursor cursor, List<String> emails,
        List<String> about) throws IllegalArgumentException {

    if (cursor != null && cursor.getCount() > 0) {
        cursor.moveToFirst();
        do {
            emails.add(cursor.getString(cursor
                    .getColumnIndexOrThrow("email")));
            about.add(cursor.getString(cursor
                    .getColumnIndexOrThrow("about")));
        } while (cursor.moveToNext());
    }
}

【讨论】:

  • 谢谢。如果我使用@pskink 的方法失败了,我会尝试一下。我认为他说的做法更好。
  • 是的,@pskinks 的方法是首选方法 :-)
  • 您的方法有效。我测试了它。我最终使用了它,因为我不知道在使用 SimpleCursorAdapter 时如何对元素执行操作。我的 CustomAdapter 更加灵活。使用这种方法的缺点是什么:将它们存储在 arrayLists 中并将它们传递给 CustomAdapter 而不是使用 SimpleCursorAdapter ?
  • 我很高兴它可以工作,因为我没有测试它;-)(但实际上很确定它会)。如果您需要 SimpleCursorAdapter 工作原理的示例,请查看此参考和演示:developer.android.com/guide/components/loaders.html#example
  • 我不太明白如何在加载和修改特定元素之前处理它们
猜你喜欢
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多