0

这行代码有问题,getInt 方法上的编译器错误。因为变量 KEY_HITS 是 String 而不是 int。我该如何解决这个问题?

 total = total + c.getInt(KEY_HITS);

这是更多代码;

    public static final String KEY_ROWID="_id";
    public static final String KEY_NAME="persons_name";
    public static final String KEY_HITS="persons_hits";

 public int getTotal() {

String[] columns = new String[] { KEY_ROWID, KEY_NAME, KEY_HITS };
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null,
        null, null);
int total = 0;

for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
    total = total + c.getInt(KEY_HITS);
}
return total;
 }
4

1 回答 1

1

执行错误所说的操作,因为变量 KEY_HITS 是 String 而不是 int
,您需要在getInt()中传递整数参数。您可以通过getColumnIndex()获取列的索引

total = total + c.getInt(c.getColumnIndex(KEY_HITS));
于 2013-01-25T06:35:32.320 回答