【问题标题】:Android:What to use instead of cursorAndroid:用什么代替光标
【发布时间】:2011-01-12 11:56:51
【问题描述】:

在我的应用程序中,我使用游标从 SQLite 数据库中获取信息,如下所示:

Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts");

  if (contacts.getCount() > 0) {

   if (IMLayout.getVisibility() == View.VISIBLE) {


    int k = contacts.getCount();
    for (int j = 0; j < k; j++) {
     if (j == 0) {
      contacts.moveToFirst();
     } else {
      contacts.moveToNext();
     }

我想要的是使用增强的 for 循环优化“for”。为此,我必须使用数组或其他,但不能使用游标,因为游标不适用于增强型 for 循环。如何将光标转化为arrayList?

【问题讨论】:

    标签: java android foreach


    【解决方案1】:

    增强的 for 循环仅适用于集合、可迭代对象和数组,Cursor 不是这些东西。

    您只需要像现在一样使用提供的方法。或者,您必须将光标的内容吸到一个集合中,但您只是在为自己做更多的工作。

    【讨论】:

    • 好的,非常感谢。我在想这可能是一种优化的可能性。
    【解决方案2】:

    你可以大大简化这个逻辑,如下:

    Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts");
    while (contacts.moveToNext()) {
        // do stuff with this database entry
    }
    

    【讨论】:

    • 好的,我试试看 ;) 谢谢
    猜你喜欢
    • 2012-05-30
    • 2018-04-09
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多