Создание текстового файла из Spannable
Создание текстового файла из Spannable
Здравствуйте!
Моя задача создать текстовый редактор с возможностью форматирования текста и сохранения его в разных форматах (.txt .doc .pdf). Насколько я понял форматирование в андроид осуществляется с пом. Spannable и собственно с форматирванием проблем не возникло. проблемы возникли с сохранением отформатированного текста. Порывшись в гуглу я наткнулся на 2 способа:
1) перевести Spannable/Editable в html методом HTML.toHtml(Spannable), сохранить полученную методом стрингу в файл и читать этот файл с помощью HTML.fromHtml(String)
2) сохранять по отдельности текст в .txt файл и форматирование в .xml файл
первый вариант у меня не работает корректно почему-то.. Во первых не работает метод HTML.fromHtml(String), те я получаю вместо отформатированной строчки что-то вроде:
<p dir="ltr"><b>Test</b> text blalalaalallalaall one <i><u><b>two</b></u></i> tree fok <i>dis</i></p>
Во вторых у меня в тегах нет размера шрифта, правда тут я использовал RelativeSizeSpan.
второй вариант вообще какой-то стремный и думаю меня он не устраивает тк мне все в одном файле надо
Собственно вопрос, почему не работает HTML.fromHtml(String) если но по сути свое-же и конвертирует только обратно и как вообще правильно сохранять подобного рода форматироваанный текст?
Моя задача создать текстовый редактор с возможностью форматирования текста и сохранения его в разных форматах (.txt .doc .pdf). Насколько я понял форматирование в андроид осуществляется с пом. Spannable и собственно с форматирванием проблем не возникло. проблемы возникли с сохранением отформатированного текста. Порывшись в гуглу я наткнулся на 2 способа:
1) перевести Spannable/Editable в html методом HTML.toHtml(Spannable), сохранить полученную методом стрингу в файл и читать этот файл с помощью HTML.fromHtml(String)
2) сохранять по отдельности текст в .txt файл и форматирование в .xml файл
первый вариант у меня не работает корректно почему-то.. Во первых не работает метод HTML.fromHtml(String), те я получаю вместо отформатированной строчки что-то вроде:
<p dir="ltr"><b>Test</b> text blalalaalallalaall one <i><u><b>two</b></u></i> tree fok <i>dis</i></p>
Во вторых у меня в тегах нет размера шрифта, правда тут я использовал RelativeSizeSpan.
второй вариант вообще какой-то стремный и думаю меня он не устраивает тк мне все в одном файле надо
Собственно вопрос, почему не работает HTML.fromHtml(String) если но по сути свое-же и конвертирует только обратно и как вообще правильно сохранять подобного рода форматироваанный текст?
Re: Создание текстового файла из Spannable
Все еще актуально.
Re: Создание текстового файла из Spannable
я что задал глупый вопрос? 
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Создание текстового файла из Spannable
Нет. Сам я Spannable не пользовался, но с виду вроде все нормально. Может вы не правильно указываете BufferType?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Создание текстового файла из Spannable
Все оказалось гораздо хуже, у меня просто в коде еще один сет текста из файла затерялся, естественно без .fromHtml 
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Создание текстового файла из Spannable
Замените первую скобкупервый вариант у меня не работает корректно почему-то.. Во первых не работает метод HTML.fromHtml(String), те я получаю вместо отформатированной строчки что-то вроде:
<p dir="ltr"><b>Test</b> text blalalaalallalaall one <i><u><b>two</b></u></i> tree fok <i>dis</i></p>
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Он < символ за текст считает, от этого и проблема
Последний раз редактировалось Mikhail_dev 24 авг 2014, 11:36, всего редактировалось 1 раз.
Re: Создание текстового файла из Spannable
я с пробелами написал для наглядности, теги формирует спаннабле и они там норм.В проблеме я уже разобрался я там просто в другой части кода setText без метода fromHtml() вставлял, но все равно спабио)
Re: Создание текстового файла из Spannable
ну просто без пробелов сюда бы отформатированный текст вставился, а не тот который у меня в приложенке был
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Создание текстового файла из Spannable
причем тут пробелы? Я про символ "<" говорю. Вот тут http://stackoverflow.com/a/9955051 подробнее описана проблема.
Re: Создание текстового файла из Spannable
А точно на этом сайте текст не форматируется автоматически тегами, я тут пробелы и не ставил, они и так отображаются, перепутал с
stackoverflow .
Я же говорю что проблему уже решил и она не в тегах ты ошибаешься, данные теги сформирован с помощью интерфейса Spannable и примененного к spannable объекту метода Html.toHtml(Spannable span) который и вернул мне стрингу с данными тегами. Эта стринга в полном порядке, применив ее как входной параметр к Html.fromHtml(String text) выйдет объект Spannable со всеми форматированиями
stackoverflow .
Я же говорю что проблему уже решил и она не в тегах ты ошибаешься, данные теги сформирован с помощью интерфейса Spannable и примененного к spannable объекту метода Html.toHtml(Spannable span) который и вернул мне стрингу с данными тегами. Эта стринга в полном порядке, применив ее как входной параметр к Html.fromHtml(String text) выйдет объект Spannable со всеми форматированиями
Re: Создание текстового файла из Spannable
Тот ответ, кстати, тоже неочем, если из ресурсов стрингу брать то она должна быть такая <![CDATA[This is an <u>underline</u>]]>
а хотя там еще метода String.format(getString(R.id.textview), ...) с ним может и работает
а хотя там еще метода String.format(getString(R.id.textview), ...) с ним может и работает
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Создание текстового файла из Spannable
Ну для общего развития информация не будет лишней.Я же говорю что проблему уже решил и она не в тегах ты ошибаешься
Что значит неочем? Он рабочий и совершенно точно отображает смысл проблемы. Как раз таки "<![CDATA[This is an <u>underline</u>]]>" такое у меня и не читалось из ресурсов.Тот ответ, кстати, тоже неочем, если из ресурсов стрингу брать то она должна быть такая <![CDATA[This is an <u>underline</u>]]>
