我将光标的数据插入到arrayList中,应用程序因此错误而崩溃。 当我使用cursor.getCount()检查光标的大小时,它显示我188.但是当我是cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA)时,我收到此错误。 null对象如何给我计数然后显示NULL对象引用。
public ArrayList getSongArray(){
ArrayList songsList = new ArrayList<>();
songInfo sInfo;
Cursor c = getSongCursor();
/*if(c==null) {
Log.v("empty_cursor","yes");
return songsList;
}else{
Log.v("cursor'sLength",""+c.getCount()); \\ giving me 188.
return songsList;
}*/
int songPathIndex = c.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA); \\ giving me ERROR here.
/*int songTitleIndex = c.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE);
//Toast.makeText(, "", Toast.LENGTH_SHORT).show();
sInfo = new songInfo("Hello Mayank","no path to this");
songsList.add(sInfo);
songsList.add(sInfo);
Log.v("Cursor_length",""+c.getCount());
for(int i=0;i
sInfo = new songInfo(c.getString(songTitleIndex),c.getString(songPathIndex));
//songsList.add(sInfo);
}*/
return songsList;
}
public Cursor getSongCursor(){
try{
Uri externalUri = MediaStore.Audio.Media.EXTER