Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
y_e_p
3 / 3 / 0
Регистрация: 15.09.2013
Сообщений: 27
#1

SpannableStringBuilder и исходное форматирование текста - Программирование Android

29.07.2015, 20:17. Просмотров 324. Ответов 0
Метки нет (Все метки)

Здаровушки разработчикам! Битый час ломаюсь над одной проблемкой. Суть такова,с сервера приходят новости,и в тексте новости есть свой тег такого вида [xxx]Site|http://site.org[/xxx].
Так вот,это все счастье я уже обработал и разобрал с помощью этого:
Java
1
text = text.replaceAll("\\[([^\\]]+)\\]([^|]+)\\|(http.+?)\\[/\\1\\]", "<a href=\"$3\">$2</a>");
А так же ответ на стэкэ помог сделать ссылки кликабельными (чтобы открывать внутренний браузер приложения). http://stackoverflow.com/a/19989677/3815660

Мой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class TextUtil {
 
    private static void makeLinkClickable(final Activity context, SpannableStringBuilder strBuilder, final URLSpan span) {
        int start = strBuilder.getSpanStart(span);
        int end = strBuilder.getSpanEnd(span);
        int flags = strBuilder.getSpanFlags(span);
        ClickableSpan clickable = new ClickableSpan() {
            public void onClick(View view) {
                Toast.makeText(context, "URL:" + span.getURL(), Toast.LENGTH_SHORT).show();
                context.startActivity(new Intent(context, BrowserActivity.class).putExtra(BrowserActivity.LINK_DATA, span.getURL()));
                // Do something with span.getURL() to handle the link click...
            }
        };
        strBuilder.setSpan(clickable, start, end, flags);
        strBuilder.removeSpan(span);
    }
 
    public static void setTextViewHTML(final Activity context, TextView text, String html) {
        CharSequence sequence = Html.fromHtml(html);
        SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);
        URLSpan[] urls = strBuilder.getSpans(0, sequence.length(), URLSpan.class);
        for (URLSpan span : urls) {
            makeLinkClickable(context, strBuilder, span);
        }
        text.setText(strBuilder);
    }
}
Но есть пролема после прогонки текста в SpannableStringBuilder,теряется исходное форматирование текста,которое приходит с админки сервера. Может кто стыкался,дайте совет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2015, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SpannableStringBuilder и исходное форматирование текста (Программирование Android):

Форматирование текста в программах и играх - Программирование
Добрый день! Я переводчик, не силен в программировании. Недавно занялся переводом программ и игр с китайского и столкнулся с проблемой...

Форматирование текста и действие по нажатию кнопки назад - Программирование Android
День добрый! Столкнулся с такой проблемой: -есть текст и его надо выровнять по ширине т.е не центр а как в ворде. &lt;?xml...

RichEdit или RTF форматирование текста, а лучше HTML форматирование - Delphi FireMonkey
Привет формучани. Подскажите бесплатный компонент который позволил бы выводить текст в формате RTF или HTML. Очень хорошо подходит TMS...

Форматирование текста и изменение цвета текста в консоли - C++
Подскажите пожалуйста, как форматировать текст в консоли, а также как менять его цвет

Форматирование текста в C++ - C++
Дан текст, состоящий из предложений, разделяемых точками. Напишите программу, производящую следующее форматирование: после каж- дой...

Форматирование текста. - Visual Basic .NET
Доброй ночи! Уважаемые пользователи портала подскажите пожалуйста как сделать так чтобы текст в TextBox определялся так: Привет всем! ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2015, 20:17
Привет! Вот еще темы с ответами:

Форматирование текста - Java SE
Привет всем. Хочу узнать существует ли такая технология для Java которая бы форматировала текст по определенным критериям. Допустим...

Форматирование текста - Pascal
дан произвольный текст,нужно его выронить по ширине.по какому-то числу например: вводим число 5 программа должна отформатировать...

Форматирование текста - C#
Здравствуйте. Есть RichTextBox с текстом вида: Саша Маша Даша Лена Как можно добавить к каждой строке символы с результатом: ...

Форматирование текста - PHP
Здравствуйте! Есть &quot;портянка&quot; текста. Около 30000 символов. Много строк. Текст осмысленный. Помогите сделать текст удобочитаемым...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru