私はリストビューを持っていますが、曲は含まれていますが、アルファベット順に並べ替えるとその配置は変更されましたが、それを置く?私のコードです。私のリストビューをアルファベット順に整理しようとしています
final ArrayList<File> mySongs = findSongs(Environment.getExternalStorageDirectory());
items = new String[mySongs.size()];
for (int i = 0; i < mySongs.size(); i++) {
items[i] = mySongs.get(i).getName().toString().replace(".mp3", "").replace(".wav", "");
}
final CustomList adp = new CustomList(MainActivity.this, items, imageId);
adp.sort(new Comparator<String>() {
@Override
public int compare(String lhs, String rhs) {
return lhs.compareTo(rhs);
}
});
lv.setAdapter(adp);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
startActivity(new Intent(getApplicationContext(), Player.class).putExtra("pos", position).putExtra("songlist", mySongs));
overridePendingTransition(R.anim.anime_enter, R.anim.anime_exit);
}
});
public ArrayList<File> findSongs(File root) {
ArrayList<File> al = new ArrayList<File>();
File[] files = root.listFiles();
for (File singleFile : files) {
if (singleFile.isDirectory() && singleFile.isHidden()) {
al.addAll(findSongs(singleFile));
} else {
if (singleFile.getName().endsWith(".mp3") || singleFile.getName().endsWith(".wav")) {
al.add(singleFile);
}
}
}
return al;
}
ありがとう!
あなたはどういう意味ですか: 'アイテム選択はまだ古いレイアウトを使用していますか? ' –
配置は変更されましたが、クリックされても以前の位置に戻ります –