Я пытаюсь установить BackgroundColorSpan для выделенного текста в моем Edit-text. Поэтому, когда я выбираю любой текст и нажимаю кнопку, он устанавливает цвет фона для этого конкретного текста, а затем я сохраняю эту заметку на свою 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, после чего я получил точный результат, который я ожидал, но в Android я не знаю, почему он не работает.
Строка, которую я получаю в 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 я не знаю, что происходит, и это не так, как я ожидаю.
Изменить
Ниже приведен код, который я использовал для извлечения текста из моего файла 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);