-1
我寫了這段代碼,但是當我啓動應用程序時,它不幸停止了。我正在使用Android Studio。如何在列表視圖中獲取SD卡歌曲並在android中顯示在列表視圖中?
public class AllMusicDemo extends AppCompatActivity {
String []album;
String []name;
String []concat;
ListView listmusic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all_music_demo);
listmusic= (ListView) findViewById(R.id.listmusic);
Uri uri= MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor cursor= getContentResolver().query(uri,
new String[]{MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.COMPOSER,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.SIZE,
MediaStore.Audio.Media.DATA}
, null, null, null);
album=new String[cursor.getCount()];
name=new String[cursor.getCount()];
cursor.moveToFirst();
for (int i= 0; i< cursor.getCount(); i++){
album[i]= cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
name[i]=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
concat[i]=album[i]+" "+name[i];
cursor.moveToNext();
}
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(AllMusicDemo.this, android.support.v7.appcompat.R.layout.support_simple_spinner_dropdown_item,concat);
listmusic.setAdapter(arrayAdapter);
}
}
請提供您正在談論的應用程序崩潰堆棧跟蹤。 – dasar
'在列表視圖中播放sdcard歌曲並在列表視圖中顯示'。你有兩個列表視圖? – greenapps
請檢查這一行代碼cursor.getCount();它的計數爲0,這意味着循環迭代不會導致concat []數組初始化 –