我想检查数据库变量的值是否为5,然后更改图像。 Log.d我在检查之前做的if if statment给出了值5和我要检查的标题,因此数据在数据库中。但我的if语句没有被执行,"完成"未记录,图像不会更改。也许我使用错误的方法将cursor.getString(0)解析为Integer? 没有记录错误。
DbHelper dbh = new DbHelper(context);
Cursor cursor = dbh.getScore(dbh);
cursor.moveToFirst();
if (cursor.moveToFirst()) {
do {
Log.d("Database", cursor.getString(0) + cursor.getString(1));
if (Integer.parseInt(cursor.getString(0))== 5 && Headline.toString().equals(cursor.getString(1))){
Log.d("Database","Done");
ImageDone.setImageResource(R.drawable.markerdone);
}
}
while(cursor.moveToNext());
}
cursor.close();
答案 0 :(得分:0)
当我试图从Mysql DB解析int时遇到了同样的问题所以我修复了这样的问题:
if (Math.round(Float.parseFloat(cursor.getString(0))== 5 && Headline.toString().equals(cursor.getString(1))){
Log.d("Database","Done");
ImageDone.setImageResource(R.drawable.markerdone);
}