java - 如何按字母顺序设置 ListView?

标签 java android listview

我一直在 StackOverFlow 中寻找答案。但似乎没有人真正帮助我?我已经制作了一个成功的音乐播放器,一切都很棒,但有一件事让我烦恼。问题是歌曲名称不按字母顺序出现。所以我的问题是如何根据“abc”格式排列音乐?

此外,我没有将 ListView 设置为 Activity (Java)。它在我的 main.xml 中设置。

从我的设备检索音乐时的代码 -

    public ArrayList<HashMap<String, String>> getPlayList() {
        System.out.println(MEDIA_PATH);
        if (MEDIA_PATH != null) {
            File home = new File(MEDIA_PATH);
            File[] listFiles = home.listFiles();
            if (listFiles != null && listFiles.length > 0) {
                for (File file : listFiles) {
                    System.out.println(file.getAbsolutePath());
                    if (file.isDirectory()) {
                        scanDirectory(file);
                    } else {
                        addSongToList(file);
                    }
                }
            }
        }
        // return songs list array
        return songsList;
    }

    private void scanDirectory(File directory) {
        if (directory != null) {
            File[] listFiles = directory.listFiles();
            if (listFiles != null && listFiles.length > 0) {
                for (File file : listFiles) {
                    if (file.isDirectory()) {
                        scanDirectory(file);
                    } else {
                        addSongToList(file);
                    }

                }
            }
        }
    }

    private void addSongToList(File song) {
        if (song.getName().endsWith(mp3Pattern)) {
            HashMap<String, String> songMap = new HashMap<String, String>();
            songMap.put("songTitle",
                    song.getName().substring(0, (song.getName().length() - 4)));
            songMap.put("songPath", song.getPath());

            // Adding each song to SongList
            songsList.add(songMap);
        }
    }
}

在 MainActivity 中应用时的代码 -

songsList = songManager.getPlayList();

谢谢你能帮我:)

最佳答案

在创建arrayadapter之前对ArrayList进行排序,然后将arrayadater设置为ListView

使用Collections.sortArrayList

进行排序
Collections.sort(arraylist)

关于java - 如何按字母顺序设置 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007753/

相关文章:

java - SQL中如何判断一个表是否包含一个值?

java - 如何修复 android 中的布局

java - 如何修复,数据无法在回收器 View 、API 中显示

java - 从惰性 ListView 适配器获取数据不起作用android

java - 自定义 ListView 适配器抛出 UnsupportedOperationException

java - 在 Java 中生成噪声颜色

java - 用户界面 :repeat inside a ui:repeat and LazyInitException

Android:XML 解析:org.w3c.dom.DOMException:只允许一个根元素

c# - 如何在过滤 ICollectionView 后选择第一项

Android - ListView 不显示最后一项