2016-05-02 7 views
-5

Ich habe eine Android-Anwendung, die einen String-Wert aus einer Tabelle mit Cursor (so nur Zeichenfolge denke ich) zurückgegeben und wenn ich versuche, Int zu analysieren, bekomme ich Ausnahme fangen, so kann ich nicht inkrementiere es, alles, was ich brauche, ist, dass es jedes Mal, wenn es aufgerufen wird, von 0 bis 1,2,3,5,100,923021312 usw. geht.Wie zu erhöhen numerischen Zeichenfolgenwert in Android

Wenn jemand weiß, Wär 'ich bin falsch, wie es zu machen in int oder wie es direkt als aus der Datenbank erhalten int

public String dmst(String id_math) 
{ 
    String kleidi=""; 
    int efedriko=0; 
    String parousies_max="0"; 
    final String SQL_code = "SELECT "+DatabaseHelper.Col_PAROUSIES_MAX+" FROM "+DatabaseHelper.TABLE_NAME2+" WHERE "+DatabaseHelper.Col_ID_MATHIMA+" = "+id_math; 
    SQLiteDatabase sqLiteDatabase=this.getReadableDatabase(); 
    Cursor cursor = sqLiteDatabase.rawQuery(SQL_code,null); 
    if (cursor.moveToFirst()) { 
     do { 
      parousies_max = cursor.getString(cursor.getColumnIndex("PAROUSIES_MAX")); 
     }while (cursor.moveToNext()); 
    } 
    cursor.close(); 

    try { 
     efedriko = Integer.parseInt(parousies_max); 
    } catch(NumberFormatException nfe) {} 
    efedriko=efedriko+1; 
+6

Zuerst fangen Sie keine Ausnahme und werfen Sie es einfach so weg. Drucken Sie die Ausnahme, damit Sie sehen können, was die Fehlermeldung tatsächlich ist. Zweitens, stellen Sie hier niemals eine Frage zu einem Fehler oder einer Ausnahme in Ihrem Code, ohne die eigentliche Fehlermeldung zu posten. –

+0

Eine Zeichenfolge in einer beliebigen Programmiersprache ist keine mathematische Sache, unabhängig davon, ob sie numerische Symbole enthält oder nicht. Sie können Strings in float, int, long, double konvertieren und dann matchen. – Pomagranite

Antwort

0

ändern Zeile in do-Schleife von getString zu getInt Methode:

VON:

parousies_max = cursor.getString (cursor.getColumnIndex ("PAROUSIES_MAX"));

TO:

parousies_max = cursor.getInt (cursor.getColumnIndex ("PAROUSIES_MAX"));

Verwandte Themen