Я пытаюсь установить BackgroundColorSpan на выделенный текст в Правке-тексте. Поэтому, когда я выбираю любой текст и нажимаю кнопку, он устанавливает цвет фона для этого конкретного текста, а затем я сохраняю эту заметку на SDCard с форматом .html, а затем снова получаю эту заметку для редактирования снова в том же формате.
Проблема, с которой я столкнулся сейчас, - это когда я применяю BackgroundColorSpan к выбранному тексту, он показывает эту строку с цветом фона, который я применил, но как только я сохраню эту заметку на SDCard и снова открою ее не отображает цвет фона для этой конкретной строки, а не показывает мне нормальную строку без цвета фона.
Ниже мой код, который я использовал для установки цвета фона в выделенную область редактирования текста
mSpannable.setSpan(new BackgroundColorSpan(color),startSelection, endSelection, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
и ниже - код для сохранения моих заметок на SD-карте.
Spanned spannedText = edtNoteDescription.getText();
StringBuilder output = new StringBuilder();
AppHtml.withinHtml(output, spannedText);
File mFile = new File(Environment.getExternalStorageDirectory()
+ File.separator + "MyNote/");
}
File myFile = new File(mFile, "/" + strNoteTitle + ".html/");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
myOutWriter.append(output);
myOutWriter.close();
fOut.close();
С помощью этого выше кода я успешно могу сохранить файл в формате HTML, но я не получаю строку с цветом фона.
Я попытался напечатать эту строку в журнале, а затем вставить эту строку в w3School, тогда я получаю точный результат, чего я ожидаю, но в андроиде я не знаю, почему он не работает.
Строка, которую я получаю в Logcat, находится ниже
<p><font color ="#7dff00">This</font> <font color ="#ff5100">Is</font>  a  <font color ="#04ff00"><b><font style = "background-color:#2929dd">String</font></b></font>... </p>
Вы можете попробовать эту строку здесь, которая дает прекрасный результат с цветом фона для строки, но при настройке на android Edit-ext я не знаю что происходит, и оно не устанавливается, как я ожидаю.
Edit
Ниже приведен код, который я использовал для извлечения текста из файла SDcard
Bundle bundle = getIntent().getExtras();
strGetPath = bundle.getString(GlobalClass.notesPath);
filePath = new File(strGetPath);
fileInputStream = new FileInputStream(filePath);
int size = fileInputStream.available();
bytbuffer = new byte[size];
fileInputStream.read(bytbuffer);
fileInputStream.close();
String strGetData = new String(bytbuffer);
Spanned spanHTMLData = AppHtml.fromHtml(strGetData);
LogM.e("===== Getting Data =====" + strGetData);
edtNoteDescription.setText(spanHTMLData);