Привет Я делаю приложение с SQLite и я учусь функцию, которая считывает данные, и я встретил этого (cursor.isafterlast (!)):Что это значит, пока
while(!cursor.isAfterLast()){}
Что это значит? Что он возвращает?
Привет Я делаю приложение с SQLite и я учусь функцию, которая считывает данные, и я встретил этого (cursor.isafterlast (!)):Что это значит, пока
while(!cursor.isAfterLast()){}
Что это значит? Что он возвращает?
cursor.isAfterLast()
возвращает true
, когда курсор находится в положении последней строки. Добавление !
(не) означает выполнение, пока оно не находится в конце курсора.
так что while(!cursor.isAfterLast()){}
означает, что цикл while будет проходить до последней записи курсора.
Здесь курсор - это класс, который содержит строку из вашей выборки данных из таблицы с использованием SQL-запроса.
cursor.isAfterLast()
метод возвращает true
, если вы прочитали всю позицию в своем курсоре и false
в другом случае.
Каждая итерация цикла должна содержать cursor.moveToNext()
, чтобы изменить положение курсора.
isAfterLast
возвращает, указывает ли этот курсор на позицию после последней строки или нет.
Ваш фрагмент кода приведет к циклу infinte, если он вернет true из-за пустого тела цикла.
Если вы вызываете moveToNext
или аналогичные в теле, это будет проходить по всем строкам курсора.
Пожалуйста, прочтите документацию, прежде чем задавать здесь http://developer.android.com/reference/android/database/Cursor.html#isAfterLast() – Sebastian