在我正在制作的应用中,我的目标是成为一个快速简便的笔记/文档应用。但是,我遇到的一个问题是,当用户将文本保存到EditText中时,如果有多行添加,对于基本格式化,这些行不会保存到文本文件中。我怎么能补救这个?这是保存过程的代码。谢谢!
String itemName = fileSaveListView.getItemAtPosition(position).toString();
File myExistingFile = new File(savedFilesDir, itemName);
if (myExistingFile.exists()){
myExistingFile.mkdirs();
}
try {
FileOutputStream fosForExistingFiles = new FileOutputStream(myExistingFile);
OutputStreamWriter myOutWriterExistingFiles = new OutputStreamWriter(fosForExistingFiles);
myOutWriterExistingFiles.append(textEntryEditText.getEditableText().toString());
myOutWriterExistingFiles.close();
fosForExistingFiles.close();
Toast.makeText(getBaseContext(), "Finished writing " + itemName + " to the folder", Toast.LENGTH_SHORT).show();
final AlertDialog thefileSaver = fileSaver.create();
thefileSaver.dismiss();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
好的,我终于明白了,让它运转起来。对于遇到这个问题的其他人来说,这就是你需要做的。从EditText中获取文本时,使用Html.toHtml函数将其转换为Html,如下所示。
myOutWriter.append(Html.toHtml(textEntryEditText.getText()));
现在,您的文本文件将与您输入的任何换行符一起保存。接下来要做的是,如果你想在EditText中显示你保存的文件,你只需要从Html转换回来。像这样。
textEntryEditText.setText(Html.fromHtml(String.valueOf(<your file reader>)));
我一直试图解决这个问题很长一段时间,所以如果其他人像我一样受苦,我希望这对你有所帮助! :d