gpt4 book ai didi

android - 将游标数据复制到 arraylist

转载 作者:行者123 更新时间:2023-11-29 14:18:58 25 4
gpt4 key购买 nike

我有一个查询,它在 android sqlite 中从数据库表规则填充游标。当我在光标上使用 getcount 时,它显示 24,这意味着光标中有 24 行。我想要的是游标中的所有数据都应该复制到多维数组或数组列表中,或者换句话说,将数据库表的副本复制到数组列表中。

c = obj_db.rawQuery("select * from rules", null);
int count=c.getCount();
String x= String.valueOf(count);

简而言之,我想要数组列表中表格中的数据副本

最佳答案

这样做

ArrayList<String> mArrayList = new ArrayList<String>();
c.moveToFirst();
while(!c.isAfterLast()) {
mArrayList.add(c.getString(c.getColumnIndex(dbAdapter.KEY_NAME))); //add the item
c.moveToNext();
}

这里重要的一行是

mArrayList.add(c.getString(c.getColumnIndex(KEY_NAME))); 

这里我从位于名为 KEY_NAME 的列的游标中获取字符串,您可以根据您的数据使用 getInt 等。只需使用相应的列名即可。

编辑。

这是一个例子。您可以创建行类型的自定义列表并像这样向其中添加数据。

if (cursor != null && cursor.moveToFirst()) {
//get columns
int titleColumn = cursor.getColumnIndex
(android.provider.MediaStore.Audio.Media.TITLE);
int idColumn = cursor.getColumnIndex
(android.provider.MediaStore.Audio.Media._ID);
int artistColumn = cursor.getColumnIndex
(android.provider.MediaStore.Audio.Media.ARTIST);
int albumID = cursor.getColumnIndex
(MediaStore.Audio.Media.ALBUM_ID);
int albumColumn = cursor.getColumnIndex
(MediaStore.Audio.Media.ALBUM);
//add row to list
do {
long thisId = cursor.getLong(idColumn);
String thisTitle = cursor.getString(titleColumn);
String thisArtist = cursor.getString(artistColumn);
String thisAlbum = cursor.getString(albumColumn);
String thisAlbumID = cursor.getString(albumID)
if (thisAlarm + thisNoti + thisRing==0)
arrayList.add(new Row(thisId, thisTitle, thisArtist, thisAlbum, thisAlbumID));
}
while (cursor.moveToNext());
cursor.close();
}

关于android - 将游标数据复制到 arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37051197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com