在检索期间保存文件并保留顺序

时间:2018-06-16 04:16:06

标签: java android

在我的笔记应用中,只要用户添加了便笺,我就会使用以下代码保存:

public void saveNote(String note, String noteCreationDate) {

        // Name file with current date
        FileOutputStream outputStream;

        try {
            outputStream = openFileOutput(noteCreationDate, Context.MODE_PRIVATE);
            outputStream.write(note.getBytes());
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

但是当我使用

加载音符时
String[] allNotes = fileList();

然后逐个迭代并将其添加到List并将其附加到适配器,RecyclerView中项目的顺序会发生变化。

如何保留订单。

感谢

1 个答案:

答案 0 :(得分:1)

更好的解决方案是以更合适的方式存储笔记,例如SharedPreferences或数据库。

作为解决方法,您可以对从fileList()方法获得的文件名进行排序。

String[] allNotes = fileList();
Arrays.sort(allNotes);

// Iterate over the files

您还应该使用具有正确日期格式的文件名,例如ISO 8601yyyy-MM-dd'T'HH:mm'Z',以保证按字母顺序排列。