0

文字列の Arraylist を使用しています: ArrayList エントリ = new ArrayList(Arrays.asList(""));

動的に値を与える。ディレクトリまたはファイルの名前が含まれる場合があります。

最初にすべてのディレクトリが並べ替え順に表示され、次にファイルが並べ替え順に表示されるように、ListView にエントリを表示する必要があります。

これは可能ですか?はいの場合、ヒントはありますか?助けに感謝..私は使用しています

Collections.sort(エントリ); 私のエントリを並べ替えるために。

4

2 に答える 2

0

私はそれをやった。使用されるロジック: エントリを 2 つの ArrayList に分割します。他のファイルのディレクトリを持つもの。これら 2 つの ArrayList を別々に並べ替えます。最後に、これら 2 つを「エントリ」に追加します。コードは次のとおりです。

private void sortEntries(String path){
    ArrayList<String> entriesDir = new ArrayList<String>(Arrays.asList(""));
    ArrayList<String> entriesFile = new ArrayList<String>(Arrays.asList(""));
    entriesDir.removeAll(entriesDir);
    entriesFile.removeAll(entriesFile);
    int fileCounter=0, dirCounter=0;
    path = path.equals("/") ? "" : path;
    for(int i=1;i<=entries.size();i++){
        if((new File(path+"/"+entries.get(i-1))).isFile()) entriesFile.add(fileCounter++, entries.get(i-1));
        else entriesDir.add(dirCounter++, entries.get(i-1));
    }
    Collections.sort(entriesDir,String.CASE_INSENSITIVE_ORDER);
    Collections.sort(entriesFile,String.CASE_INSENSITIVE_ORDER);
    entries.removeAll(entries);
    entries.addAll(entriesDir);
    entries.addAll(entriesFile);
}
于 2013-05-19T00:16:02.167 に答える