我想植入一个方法,通过SQLite返回DataBase中的项目列表 表很简单(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数量,获取此数量的随机项目。
如果他/她选择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 :(得分:0)
终于工作了,我只能在sql中使用Order by
int param;
Cursor c = db.rawQuery(" SELECT " +KEY_QUESTION+ " from " +TABLE_QUESTION+ " ORDER BY RANDOM() LIMIT " +param+ ,null);