0

このコード行に問題があり、getInt メソッドでコンパイラ エラーが発生しました。変数 KEY_HITS は文字列であり、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 であり、 getInt()
で整数パラメーターを渡す必要がある int ではないため、エラーの内容を実行します。getColumnIndex()で列のインデックスを取得できます

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