我一直在读关于 Cursor
android中的api以及其他人对它的评论。但有件事我还不明白。
当进行查询时 Cursor
包含查询的所有行还是仅包含查询的第一行?
如果它返回所有行,那么为什么人们说 Cursor
指向查询的一行?因为有这个需要打电话 moveToFirst()
移动 Cursor
到下一排。
如果它返回所有的行,那么它怎么知道使用 getCount()
方法?
我试着去理解 Cursor
把它和 ArrayList
例如。在一个 ArrayList
我们使用列表的索引访问每个记录。这个索引实际上是指向 ArrayList
.
所以,在我看来 Cursor
只有一行。正如我所说 moveX()
方法它将返回我的下一个数据记录。但是它怎么知道查询中的结果数呢?
2条答案
按热度按时间2guxujil1#
一
Cursor
是指向一行一行索引的对象。在查询的主要情况下,Cursor
指向null的结果集行。然后你应该把它移到第一行或者你想要的每一行。k5hmc34c2#
如果游标对象从查询返回,它将返回查询返回的所有行。
它有所有的行,但只指向一行,这意味着要检索一行,首先需要将光标指向它