Android:EditText中的故意空行不会被保存

时间:2015-06-11 05:00:34

标签: android android-edittext save line

在我正在制作的应用中,我的目标是成为一个快速简便的笔记/文档应用。但是,我遇到的一个问题是,当用户将文本保存到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();
                }

1 个答案:

答案 0 :(得分:1)

好的,我终于明白了,让它运转起来。对于遇到这个问题的其他人来说,这就是你需要做的。从EditText中获取文本时,使用Html.toHtml函数将其转换为Html,如下所示。

    myOutWriter.append(Html.toHtml(textEntryEditText.getText()));

现在,您的文本文件将与您输入的任何换行符一起保存。接下来要做的是,如果你想在EditText中显示你保存的文件,你只需要从Html转换回来。像这样。

    textEntryEditText.setText(Html.fromHtml(String.valueOf(<your file reader>)));

我一直试图解决这个问题很长一段时间,所以如果其他人像我一样受苦,我希望这对你有所帮助! :d