首页 > 解决方案 > 在检索期间保存文件并保留顺序

问题描述

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

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并附加到adapter,RecyclerView中item的顺序就改变了。

如何保留订单。

谢谢

标签: javaandroid

解决方案


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

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

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

// Iterate over the files

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


推荐阅读