2017-12-30 15 views
-1

Gibt es jemanden, der versuchen kann, den Fehler in meinem Code zu finden? Ich habe schon viele Dinge ausprobiert, aber es endet immer mit dem gleichen Fehler.Warum habe ich einen solchen Fehler in meinem Code? CursorIndexOutOfBoundsException

Dies ist mein Code:

   String signeedep = spn.getSelectedItem().toString(); 
       int a = spn1.getSelectedItemPosition(); 
       Cursor userid = db.getallsigneenumber(); 

        userid.moveToPosition(a); 
        Toast.makeText(getApplicationContext(), 
          userid.getString(1) + "//this is where the error points out 
          was assigned to the " + signeedep + ".",Toast.LENGTH_SHORT).show(); 

        userid.close(); 
       /* 
       db.open(); 
       db.insertAssignsignee(signeedep, userid.getString(0)); 
       db.close(); 
       */ 
        myMethod(); 

Das ist mein Fehler:

FATAL EXCEPTION: main 

android.database.CursorIndexOutOfBoundsException: Index 1 requested, with a size of 1 
+0

Was willst du genau tun getString (1) aufrufen? – Canato

+0

Ich möchte den Wert in Spalte 1 erhalten, die die ID ist. – Justine

+0

@Justine enthält Ihre Tabelle zwei Spalten oder einzelne Spalten? – Munir

Antwort

1

Zuerst sicherstellen, dass Ihr Cursor nicht null ist und es darin erforderliche Anzahl von Element zu haben ..

moveToPosition erinnern (1) gibt die zweite Reihe, da es ist null-indexiert

+0

Danke! Ich habe -1 auf meine int Variable hinzugefügt und es hat funktioniert. – Justine

+0

Froh, dass es geholfen hat .. und könnte weiter hilfreich für jemanden sein .. –

0

Wahrscheinlich sollten Sie zunächst diese in einen String konvertieren, String userIdString = userid.toString; wenn möglich verwenden.

Dann können Sie verwenden userIdString.substring(1,2);

Verwandte Themen