「已注销」
2016-12-15 01:58
采纳率: 12.6%
浏览 2.3k

安卓 从数据库中取数据Cursor的使用

listview使用cursoradapter 读取数据库中的ID字段
int a = listViewRight.getFirstVisiblePosition();
Cursor cursor1 = adapterRight.getCursor();
Cursor cursor2 = adapterRight.getCursor();
Cursor cursor3 = adapterRight.getCursor();

    cursor1.moveToPosition(a);
    cursor2.moveToPosition(a + 1);
    cursor3.moveToPosition(a + 2);

               int listId1 = Table.getID(cursor1);
    int listId2 = Table.getID(cursor2);
    int listId3 = Table.getID(cursor3);
            发现取出的三个ID都相同 单独取就正常 想请教一下这里应如何修改?
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • stone_you 2016-12-15 09:40

    写成这样看看
    cursor1.moveToPosition(a);
    int listId1 = Table.getID(cursor1);
    cursor2.moveToPosition(a + 1);
    int listId2 = Table.getID(cursor2);
    cursor3.moveToPosition(a + 2);
    int listId3 = Table.getID(cursor3);
    你这个cursor1、cursor2、cursor3都是一个cursor,会move到最后一次的位置,这个时候去的话当然都是同一个id了

    评论
    解决 无用
    打赏 举报