我建立的音樂播放器應用程序從SD卡從服務器上下載,我收集數據和保存文件命名爲ArrayList中獲得指數<HashMap的<字符串,字符串>>
private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
現在問題是我想根據用戶點擊回收站項目來播放mp3文件,因此,我需要爲特定名稱指定索引號。
如何獲取索引用於傳遞mp3文件的名稱?
/**
* Function to read all mp3 files from sdcard
* and store the details in ArrayList
*/
public ArrayList<HashMap<String, String>> getPlayList() {
File home = new File(MEDIA_PATH);
if (home.listFiles(new FileExtensionFilter()).length > 0) {
for (File file : home.listFiles(new FileExtensionFilter())) {
HashMap<String, String> song = new HashMap<String, String>();
song.put("songTitle", file.getName().substring(0, (file.getName().length() - 4)));
song.put("songPath", file.getPath());
Log.d(TAG, "getPlayList() called title = "+file.getName().substring(0, (file.getName().length() - 4))+" Path = "+file.getPath());
// Adding each song to SongList
songsList.add(song);
}
}
// return songs list array
return songsList;
}
我建議你做一個'Song'類而不是在HashMap中存儲屬性 –
是的,POJO是一個很好的選擇,但是我已經實現了HashMap,所以現在需要一段時間來實現和更改所有的類。 –