在我的应用程序中,我使用游标从SQLite数据库中获取信息,如下所示:
Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts");
if (contacts.getCount() > 0) {
if (IMLayout.getVisibility() == View.VISIBLE) {
int k = contacts.getCount();
for (int j = 0; j < k; j++) {
if (j == 0) {
contacts.moveToFirst();
} else {
contacts.moveToNext();
}
我想要的是使用Enhanced for循环优化“for”。为此我必须使用数组或其他,但不使用游标,因为游标不适用于Enhanced for循环。如何将光标转换为arrayList?
答案 0 :(得分:0)
增强的for循环仅适用于集合,迭代和数组,Cursor
不是这些。
您只需像现在一样使用所提供的方法。或者,你必须将光标的内容吸收到一个集合中,但是你只需为自己做更多的工作。
答案 1 :(得分:0)
您可以按如下方式大大简化此逻辑:
Cursor contacts = dataBase.select("SELECT _idContact FROM Contacts");
while (contacts.moveToNext()) {
// do stuff with this database entry
}