2017-12-30 24 views
-1

私のコードで間違いを見つけようとする人はいますか?私はすでに多くのことを試しましたが、いつも同じエラーで終わります。コードにこのようなエラーが発生するのはなぜですか? CursorIndexOutOfBoundsException

これは私のコードです:

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

これは私のエラーです:

FATAL EXCEPTION: main 

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

getString(1)の呼び出しを正確にしたいのですか? – Canato

+0

私はidであるカラム1の値を取得したいと思います。 – Justine

+0

@Justineはあなたのテーブルに2つの列または単一の列を含んでいますか? – Munir

答えて

1

ファーストを使用することができます。..

moveToPositionは、(1​​)以降、第二列を返す覚えゼロインデックス付けされています

+0

ありがとう!私はint変数に-1を加えていました。 – Justine

+0

それは助けてくれてうれしい..そしてさらに誰かに役立つかもしれない.. –

0

おそらくあなたが最初に可能であれば String userIdString = userid.toString; を使用して、文字列にこれを変換する必要があります。

次に、あなたのカーソルがないヌルであり、それはそれで要素の必要数を持っていることを確認してくださいuserIdString.substring(1,2);

関連する問題