在我的笔记应用中,只要用户添加了便笺,我就会使用以下代码保存:
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中项目的顺序会发生变化。
如何保留订单。
感谢
答案 0 :(得分:1)
更好的解决方案是以更合适的方式存储笔记,例如SharedPreferences
或数据库。
作为解决方法,您可以对从fileList()
方法获得的文件名进行排序。
String[] allNotes = fileList();
Arrays.sort(allNotes);
// Iterate over the files
您还应该使用具有正确日期格式的文件名,例如ISO 8601:yyyy-MM-dd'T'HH:mm'Z'
,以保证按字母顺序排列。