Java 检查数据库字符串中的int是否等于某个值

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();

我想检查数据库变量的值是否为5,然后更改图像。 在我用if语句检查之前所做的Log.d给了我值5和我想要检查的标题,所以数据在数据库中。但是我的if语句没有执行,Done没有被记录,映像也没有改变。也许我使用了错误的方法将cursor.getString0解析为整数? 没有记录任何错误

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);
        }