Я применил несколько вариантов форматирования в моем приложении, таких как bold
, italic
, highlight
, underline
и т. Д. Все они сохраняют состояние с помощью
Html.toHtml (editText.getText ())
и получение этого состояния через
Html.fromHtml (editText.getText ())
мелко.Но проблема в маркированном списке, поскольку маркеры не сохраняются.Что я должен сделать, чтобы сохранить маркированный текст и извлечь его снова в том же порядке (маркированный)?
Я пробовал то же самое для списка маркеров, но он не работает, в то время как другие работают правильно.
bullet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText tv = findViewById(R.id.text_write);
int selectionStart = tv.getSelectionStart();
int selectionEnd = tv.getSelectionEnd();
String string = tv.getText().toString();
String sub = string.substring(selectionStart, selectionEnd);
String arr[] = sub.split("\n");
int bulletGap = (int) dp(8);
SpannableStringBuilder ssb = new SpannableStringBuilder();
for (int i = 0; i < arr.length; i++) {
String line = arr[i];
SpannableString ss = new SpannableString(line);
//bullet list
ss.setSpan(new BulletSpan(bulletGap), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// numbered list
// ss.setSpan(new NumberIndentSpan(bulletGap), 0,line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ssb.append(ss);
//avoid last "\n"
if (i + 1 < arr.length)
ssb.append("\n");
}
int start = Math.max(tv.getSelectionStart(), 0);
int end = Math.max(tv.getSelectionEnd(), 0);
tv.getText().replace(Math.min(start, end), Math.max(start, end),
ssb, 0, ssb.length());
bullet.setBackgroundResource(R.drawable.button_menu);
}
});
save(editTitle.getText().toString(), Html.toHtml(editText.getText()), txt.getText().toString(), currentDateandTime, currentDateandTime);//it is saving the data in sqlite database
if (description!=null)
editText.setText(Html.fromHtml(description));//it is saving all other states rather than bullet list.
Нет сообщения об ошибке.Всякий раз, когда я открываю задание, весь другой текст, например, выделенный жирным шрифтом, курсивом и т. Д., Выбирается правильно, но маркеры удаляются.