私はアンドロイドが初めてです。私はサービスを使って音楽プレーヤーを実装しています。ここでは、エラーが集中しているコードを示します。誰もこのエラーを解決するために私を助けることができますか?IllegalStateException:行0、列-1をCursorWindowから読み取ることができませんでした。カーソルがそこからデータにアクセスする前に正しく初期化されていることを確認してください
public void getSong() {
ContentResolver contentResolver = getContentResolver();
Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = contentResolver.query(musicUri, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
do {
long thisId = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID));
String thisTitle = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
String thisArtist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
int albumId = cursor.getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM_ART);
String thisArt = cursor.getString(albumId);
musicArrayList.add(new Music(thisId, thisTitle, thisArtist, thisArt));
} while (cursor.moveToNext());
}
}
あなたのcusrorはnullです。カーソルがいっぱいになるように十分なメディアがあることを確認してください。 –
ええ、私はそれが十分なメディアを持っているので、カーソルがnullにならないようにします – Janki
このエラーはどの行ですか? –