http://sattva.asasvata.net/Entry/28/
前回の遺産がなくなったので、なかなか進みません。
まあ、それだけでもないんですが。
プリファレンスを追加しました。思ったより簡単でした。
というか、簡単なのにしました。
onStop()で、書き込み。
@Override
public void onStop() {
super.onStop();
musicPlayer.stop();
SharedPreferences pref = getSharedPreferences("SDMP", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("directory_name", musicDirList.get(musicPlayer.getDirNum()));
editor.putString("file_name",
musicFileList.get(musicPlayer.getMusicNum()));
editor.commit();
}
onStart()で、読み込み。
@Override
public void onStart() {
super.onStart();
SharedPreferences pref = getSharedPreferences("SDMP", MODE_PRIVATE);
String dirName = pref.getString("directory_name", "");
String fileName = pref.getString("file_name", "");
int dirNum = 0;
int fileNum = 0;
if (musicDirList.contains(dirName)) {
mflm.musicFileListMaker(dirName, musicFileList);
addNumList();
if (musicFileList.contains(fileName)) {
dirNum = musicDirList.indexOf(dirName);
fileNum = musicFileList.indexOf(fileName);
}
}
spinner.setSelection(dirNum);
mflm.musicFileListMaker(musicDirList.get(dirNum), fileListForListView);
mflm.musicFileListMaker(musicDirList.get(dirNum), musicFileList);
addNumList();
musicPlayer.setDirNum(dirNum);
musicPlayer.setCount(fileNum);
//listViewの変更と通知
listView.setAdapter(listAdapter);
musicPlayer.setListView(listView);
listView.clearChoices();
listView.setItemChecked(fileNum, true);
if (fileNum == 0) listView.setSelection(fileNum);
else listView.setSelection(fileNum - 1);
}
流れでonItemSelectedとかも変わってますが、
実行するタイミングが変わっただけで、やってることは同じ。
intではなくStringで書き込んだのは、その方がいいかなーと。
ディレクトリやファイルの場所は、追加、削除で変わるので。
まあ、場所が変わると読み込まないので、無かったことになります。
その辺が、簡単の限界。おまけ程度です。
次は、まあ、そのうち。
0 件のコメント:
コメントを投稿