2015-08-07 3 views
-2

Привет Я делаю приложение с SQLite и я учусь функцию, которая считывает данные, и я встретил этого (cursor.isafterlast (!)):Что это значит, пока

while(!cursor.isAfterLast()){} 

Что это значит? Что он возвращает?

+0

Пожалуйста, прочтите документацию, прежде чем задавать здесь http://developer.android.com/reference/android/database/Cursor.html#isAfterLast() – Sebastian

ответ

3

cursor.isAfterLast() возвращает true, когда курсор находится в положении последней строки. Добавление ! (не) означает выполнение, пока оно не находится в конце курсора.

так что while(!cursor.isAfterLast()){} означает, что цикл while будет проходить до последней записи курсора.

Здесь курсор - это класс, который содержит строку из вашей выборки данных из таблицы с использованием SQL-запроса.

1

cursor.isAfterLast() метод возвращает true, если вы прочитали всю позицию в своем курсоре и false в другом случае.

Каждая итерация цикла должна содержать cursor.moveToNext(), чтобы изменить положение курсора.

0

isAfterLast возвращает, указывает ли этот курсор на позицию после последней строки или нет.

Ваш фрагмент кода приведет к циклу infinte, если он вернет true из-за пустого тела цикла.

Если вы вызываете moveToNext или аналогичные в теле, это будет проходить по всем строкам курсора.