我试图从 MediaStore 中获取相册信息。我可以非常轻松地获取名称和艺术家但由于某种原因,当我尝试访问时, ALBUM_ID 列会给我一个错误。
$( document ).ready( function(){
$( "#test123" ).change(function () {
console.log("change");
});
});
function testOnchange(){
console.log("onchange")
}
我似乎无法找到解决方案。任何帮助表示赞赏!下面是我必须获取相册信息并将其添加到 ArrayList 的方法。
Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
at android.database.CursorWindow.nativeGetString(Native Method)
at android.database.CursorWindow.getString(CursorWindow.java:450)
at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51 )
at android.database.CursorWrapper.getString(CursorWrapper.java:114)
at sage.musicplayer.MainActivity.getAlbumList(MainActivity.java:1540)
at sage.musicplayer.MainActivity.onCreate(MainActivity.java:238)
答案 0 :(得分:2)
我也遇到过这个问题。您可以通过更改
轻松解决此问题 int albumID = albumCursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ID);
要
int albumID = albumCursor.getColumnIndex(MediaStore.Audio.Albums._ID);
即使您想要相册的_ID
,也需要使用AlbumID
。我不知道为什么MediaStore
开发人员使用_ID
代替ALBUM_ID
等等。