2015-05-30 2 views
0

Я хочу проверить, имеет ли переменная базы данных значение 5 и затем изменить изображение. Log.d Я делаю, прежде чем проверять с помощью моего, если statment дает мне значение 5 и заголовок, который я хочу проверить, поэтому данные находятся в базе данных. Но мой if-statement не выполняется, «Готово» не регистрируется и изображение не изменяется. Может быть, я использую неправильный способ разбора курсора.getString (0) на Integer? Ошибка зарегистрирована.Проверьте, соответствует ли int из строки базы данных определенному значению

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

Вы уверены, что Headline.toString(). Equals (cursor.getString (1) истинно? –

+0

Заголовок - это TextView, и это правда (как видно из журнала «cursor.getString (1))», есть строка, где Заголовок - true, а cursor.getString (0) - 5 ...) – maidi

ответ

0

я была такая же проблема, когда я пытался разобрать Int из БД MySQL, так что я установил его, как это:

if (Math.round(Float.parseFloat(cursor.getString(0))== 5 && Headline.toString().equals(cursor.getString(1))){ 
      Log.d("Database","Done"); 
      ImageDone.setImageResource(R.drawable.markerdone); 
     } 
+0

Спасибо, но он все еще не работает :( – maidi