Мне нужно проверить, указаны ли два курсора в тех же строках с одинаковыми значениями. Возможно ли это?
Подробнее:
ContentProvider
ContentProvider
новыми значениями.В SQLite строки не имеют идентификатора отдельно от своих значений столбцов (но одно из этих значений - ROWID
).
Для чего требуется, чтобы ваши данные имели некоторые уникальные столбцы в виде курсора, либо ROWID
, либо какое-либо другое значение ключа, которое не имеет дубликатов.
В противном случае вы никогда не узнаете, что то, что вы видите, это всего две записи, которые имеют одинаковые значения в этих столбцах.
В соответствии с удаленным ответом CommonsWare:
Перебирайте соответствующие столбцы в курсоре, извлекайте значения и сравнивайте их.
Хотя вы не можете заранее знать тип каждого столбца, вы можете узнать с помощью Cursor.getType()
. Вы также можете использовать Cursor.getColumnNames()
для получения имени каждого столбца и количества столбцов.
Эта информация позволит вам затем использовать правильный метод доступа для получения каждого значения и сравнения.