2017-11-20 7 views
0

SQLiteを介して行われたデータベースからアイテムのリストを返すメソッドを移植します。
テーブルはシンプルです(ID、intitule "text"、comment)。リストからのパラメトリック・ランドンが生成されました

私は私の質問を選択し、リストビューでそれらを置く方法を書いた:

public ArrayList getList(){ 
    ArrayList lst = new ArrayList(); 
    Random ran = new Random(); 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor c = db.rawQuery(" SELECT " +KEY_INTITULE+ " from " +TABLE_QUESTION,null); 
    if (c.moveToFirst()) { 
     while(c.isAfterLast()==false){ 
      String t1 = c.getString(c.getColumnIndex(KEY_INTITULE)); 
      lst.add(t1); 
      c.moveToNext(); 
     } 
    } 
    return lst; 
} 

私は、ユーザに、ユーザが表示したいどのくらいのINTITULEを選択する可能性を与えたい、ランダムのこの番号を取得アイテム。
s/heが3を選択した場合、/彼女は3つのランダムに選択された項目を取得します。

また、私はこのようにそれを実行しようとしましたが、それは

int size = lst.size(); 
     int tmp=-1; 
     int rnd; 
     String randomID = new String(); 
     ArrayList <String> listrand = new ArrayList<String>(); 
     for (int j=0;j<param;j++){ 
      rnd = rand.nextInt(size)-1; 
      if(rnd!=tmp){ 
       randomID =lst.add(rand); 
       listrand.add(randomID); 
       // tmp!=rnd; 

      } 
     } 
     return listrand; 
    } 
+0

はlst'が –

+0

LSTが空でない空である 'のように思える、それはすべてのINTITULEのリストが含まれ、それらがアプリ – Master49

+0

ショーの完全なコードで表示されていて、実行する前に、第二のスニペットの完全なコードを表示しますそれは、いくつかのデバッグを行う –

答えて

0

を動作しません。それは最終的に、私は、SQL

int型のparamでで注文を使用していた働きました。

Cursor c = db.rawQuery(" SELECT " +KEY_QUESTION+ " from " +TABLE_QUESTION+ " ORDER BY RANDOM() LIMIT " +param+ ,null); 
関連する問題