したがって、特定のディレクトリ内のすべてのファイルの名前を表示する ListView があります。このアプリケーションはまた、ファイルを削除し、新しいファイルをディレクトリに追加します。
ファイルを作成順に表示したいのですが、File( directory ).listFiles() では常にそうとは限りません。空のディレクトリから開始してファイルの追加を開始すると、最新のファイルが配列の位置 0 に配置され、最も古いファイルの順に昇順になります。ただし、ファイルを削除してから新しいファイルを追加すると、おかしなことになります。ここに例があります...
空のディレクトリから始めて、そこに 4 つのファイルを追加したとします。listFiles() によって返される配列は次のようになります。
位置 0 = ファイル #4 (4 番目に追加)
P 1 = ファイル #3
P 2 = ファイル #2
P 3 = ファイル #1
次に、ファイル #2 と #3 を削除します。配列は次のとおりです。
P 0 = ファイル #4
P 1 = ファイル #1
ここまでは順調ですね。次に、2 つの新しいファイルを追加します。listFiles() によって返される新しい配列は次のようになると思います。
P 0 = ファイル #6
P 1 = ファイル #5
P 2 = ファイル #4
P 3 = ファイル #1
ただし、実際には次のようになります。
P 0 = ファイル #4
P 1 = ファイル #6
P 2 = ファイル #5
P 3 = ファイル #1
しかし、次にファイル #7 を追加すると、新しい配列は次のようになります。
P 0 = ファイル #7
P 1 = ファイル #4
P 2 = ファイル #6
P 3 = ファイル #5
P 4 = ファイル #1
基本的に、ファイルが削除されると、新しいファイルが配列内の「古い位置」を埋めます。新しいファイルが位置 0 に移動する前に、すべての「古い位置」を埋める必要があります。この動作を説明できる人はいますか? また、ファイル配列を目的の時系列順に再ソートするための迅速かつ簡単な方法はありますか?