Создание текстового файла из Spannable

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Создание текстового файла из Spannable

Сообщение Beelzik » 19 авг 2014, 09:09

Здравствуйте!
Моя задача создать текстовый редактор с возможностью форматирования текста и сохранения его в разных форматах (.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) если но по сути свое-же и конвертирует только обратно и как вообще правильно сохранять подобного рода форматироваанный текст?

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 21 авг 2014, 23:01

Все еще актуально.

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 22 авг 2014, 14:41

я что задал глупый вопрос? :D

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Создание текстового файла из Spannable

Сообщение KamiSempai » 22 авг 2014, 15:57

Нет. Сам я Spannable не пользовался, но с виду вроде все нормально. Может вы не правильно указываете BufferType?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 23 авг 2014, 02:22

Все оказалось гораздо хуже, у меня просто в коде еще один сет текста из файла затерялся, естественно без .fromHtml :D

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Создание текстового файла из Spannable

Сообщение Mikhail_dev » 23 авг 2014, 12:56

первый вариант у меня не работает корректно почему-то.. Во первых не работает метод 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 раз.

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 23 авг 2014, 15:20

я с пробелами написал для наглядности, теги формирует спаннабле и они там норм.В проблеме я уже разобрался я там просто в другой части кода setText без метода fromHtml() вставлял, но все равно спабио)

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 23 авг 2014, 15:22

ну просто без пробелов сюда бы отформатированный текст вставился, а не тот который у меня в приложенке был

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Создание текстового файла из Spannable

Сообщение Mikhail_dev » 24 авг 2014, 00:01

причем тут пробелы? Я про символ "<" говорю. Вот тут http://stackoverflow.com/a/9955051 подробнее описана проблема.

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 24 авг 2014, 16:52

А точно на этом сайте текст не форматируется автоматически тегами, я тут пробелы и не ставил, они и так отображаются, перепутал с
stackoverflow .
Я же говорю что проблему уже решил и она не в тегах ты ошибаешься, данные теги сформирован с помощью интерфейса Spannable и примененного к spannable объекту метода Html.toHtml(Spannable span) который и вернул мне стрингу с данными тегами. Эта стринга в полном порядке, применив ее как входной параметр к Html.fromHtml(String text) выйдет объект Spannable со всеми форматированиями

Аватара пользователя
Beelzik
Сообщения: 10
Зарегистрирован: 19 авг 2014, 08:24

Re: Создание текстового файла из Spannable

Сообщение Beelzik » 24 авг 2014, 17:20

Тот ответ, кстати, тоже неочем, если из ресурсов стрингу брать то она должна быть такая <![CDATA[This is an <u>underline</u>]]>

а хотя там еще метода String.format(getString(R.id.textview), ...) с ним может и работает

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Создание текстового файла из Spannable

Сообщение Mikhail_dev » 25 авг 2014, 09:55

Я же говорю что проблему уже решил и она не в тегах ты ошибаешься
Ну для общего развития информация не будет лишней.
Тот ответ, кстати, тоже неочем, если из ресурсов стрингу брать то она должна быть такая <![CDATA[This is an <u>underline</u>]]>
Что значит неочем? Он рабочий и совершенно точно отображает смысл проблемы. Как раз таки "<![CDATA[This is an <u>underline</u>]]>" такое у меня и не читалось из ресурсов.

Ответить