2

テーブルからランダムな行を選択して、ボタンとテキストビューに表示する必要があります...使用しているもの....。

カーソルresult=sqldb.rawQuery( "SELECT * FROM quiztable ORDER BY RANDOM()LIMIT 1"、null);

            String ques=result.getString(1);
            String op1=result.getString(2);
            String op2=result.getString(3);
            String op3=result.getString(4);
            String ans=result.getString(5);
            txt17.setText(ques);
            btn10.setText(op1);
            btn11.setText(op2);
            btn12.setText(op3);

しかし、レコードが表示されません....ブロックをキャッチして、トーストを使用してエラーを表示しようとしました....「インデックス-1が要求されました。サイズは1です」と表示されます。

コードのエラーは何ですか?any1はそれに対する解決策を教えてもらえますか?

前もって感謝します ....

4

1 に答える 1

3

アイテムを取得する前にカーソルを移動しているわけではありません。

行の前

 String ques=result.getString(1);

電話してみてください:

result.moveToFirst();

カーソルは常にデフォルトで最初のレコードの前の位置-1になります。両方moveToFirst();またはmoveToNext();最初のレコードに移動します。

于 2012-08-01T10:58:51.337 に答える