1

仍然掌握这一切。

我的问题是这样的 - 我有一个列,我希望从单个表下的数据库中收集分数:

23
45
84
56

我想把它们全部收集起来并加在一起。

我试过这个:

String[] projection2 = {BorrowMeTable.COLUMN_CREDIT_SCORE };
Cursor databaseCursor2 = getContentResolver().query(uri, projection2,
        null, null, null);
int number = 0;
if (databaseCursor2 != null) {
    while (databaseCursor2.isAfterLast() == false) {
        databaseCursor2.moveToFirst();
        number = number + databaseCursor2.getInt(databaseCursor2
                .getColumnIndexOrThrow(BorrowMeTable.COLUMN_CREDIT_SCORE));
    }
}

但它只会让应用程序崩溃。为什么会这样?

4

1 回答 1

0

你在这里有一个无限循环:

while (databaseCursor2.isAfterLast() == false){
    databaseCursor2.moveToFirst();
    ...
}

您永远不会移动到光标中的下一行。通常我会使用这样的东西:

while(cursor.moveToNext()) {
    // do cursor stuff
    ....
}
于 2013-03-04T01:57:16.440 回答