Java 检查数据库字符串中的int是否等于某个值
我想检查数据库变量的值是否为5,然后更改图像。 在我用if语句检查之前所做的Log.d给了我值5和我想要检查的标题,所以数据在数据库中。但是我的if语句没有执行,Done没有被记录,映像也没有改变。也许我使用了错误的方法将cursor.getString0解析为整数? 没有记录任何错误Java 检查数据库字符串中的int是否等于某个值,java,android,sqlite,integer,Java,Android,Sqlite,Integer,我想检查数据库变量的值是否为5,然后更改图像。 在我用if语句检查之前所做的Log.d给了我值5和我想要检查的标题,所以数据在数据库中。但是我的if语句没有执行,Done没有被记录,映像也没有改变。也许我使用了错误的方法将cursor.getString0解析为整数? 没有记录任何错误 DbHelper dbh = new DbHelper(context); Cursor cursor = dbh.getScore(dbh); cursor.moveToFirst();
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();
当我试图从Mysql DB解析int时,我遇到了同样的问题,所以我修复了它,如下所示:
标题的类型是什么?您确定比较的结果正确吗?您确定Headline.toString.equalscursor.getString1为真吗?Headline是文本视图,如日志cursor.getString1中所示为真;有一行的Headline为true,cursor.getString0为5…为了确保Headline不是问题所在,请尝试删除equals条件,看看它是否有效。谢谢!!我不知道为什么我没有早点尝试。我在onCreate中也设置了标题,当我检查它是否等于时,似乎还没有设置标题。问题解决了!
if (Math.round(Float.parseFloat(cursor.getString(0))== 5 && Headline.toString().equals(cursor.getString(1))){
Log.d("Database","Done");
ImageDone.setImageResource(R.drawable.markerdone);
}