【发布时间】:2021-10-20 04:59:51
【问题描述】:
所以我在我的应用程序中使用了 Cursor 从存储中检索所有曲目。问题是它只返回一首曲目而不是所有曲目。代码很完美,没有错误。甚至我也尝试过访问我正在检索和存储所有曲目的 ArrayList。 ArrayList 的大小是 1 而不是很多。我正在附加以下代码:
private void Encrypt() {
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if(cursor!= null && cursor.moveToFirst()){
int TrackTitle = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
int Artist = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
int Path = cursor.getColumnIndex(MediaStore.Audio.Media.DATA);
do{
String Tracktitle = cursor.getString(TrackTitle);
String Trackartist = cursor.getString(Artist);
String Trackpath = cursor.getString(Path);
arrayList = new ArrayList<CustomListView>();
arrayList.add(new CustomListView(R.drawable.none, Tracktitle, Trackartist, Trackpath));
CustomListViewAdapter customListViewAdapter = new CustomListViewAdapter(this, arrayList);
tracks.setAdapter(customListViewAdapter);
tracks.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
}while (cursor.moveToNext());
代码到底有什么问题??
【问题讨论】:
-
第一次被击中时 cursor.moveToNext() 是否为假?
标签: java android android-cursor