Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
19 / 19 / 2
Регистрация: 13.07.2012
Сообщений: 164

Быстродействие EditText при работе с html

18.11.2015, 17:52. Показов 690. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть EditText, в него загружается текст с html разметкой. Проблема в том, что он страшно тупит при попытке внести в него любые изменения. При добавление или удаление буквы на эмуляторе в режиме kvm в принципе нормально. А вот на слабеньком физическом Explay Atom телефон может задуматься чуть ли не на целую секунду. При этом при включении весьма не тривиального функционала (токенизация текста на лету) скорость работы не меняется вообще никак. Я не могу понять что может так тормозить, есть у кого идеи, может есть у EditText какая особая настройка для этого?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2015, 17:52
Ответы с готовыми решениями:

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

Почему в EditText не работает html тэг <strike>?
Добрый вечер, Почему не работает конструкция: Spanned s= Html.fromHtml(&quot;&lt;strike&gt;my test text&lt;/strike&gt;&quot;); ...

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в поле осуществляется с Button(ов). Вопрос...

4
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
18.11.2015, 18:03
а если так ?
Java
1
editText.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
0
19 / 19 / 2
Регистрация: 13.07.2012
Сообщений: 164
18.11.2015, 19:39  [ТС]
Паблито, Я по видимому чего-то не понимаю. Я сейчас переделал формирование текста напрямую через Spannable стили. Вот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
List<Spannable> list = new ArrayList<>();
        for (int i = 0; i < ta.size(); i++) {
            SpannableStringBuilder spannable = new SpannableStringBuilder();
            int offset = 0;
            for (int j = 0; j < ta.get(i).size(); j++) {
                Token tok = ta.get(i).get(j);
                spannable.append(tok.lexeme);
                spannable.setSpan(new ForegroundColorSpan(Color.parseColor("#" + tok.fontStyle.color)), offset, offset + tok.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
                spannable.setSpan(new RelativeSizeSpan(tok.fontStyle.size), offset, offset + tok.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
                spannable.setSpan(new TypefaceSpan(tok.fontStyle.font), offset, offset + tok.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
                if (tok.fontStyle.bold)
                    spannable.setSpan(new StyleSpan(Typeface.BOLD), offset, offset + tok.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
                if (tok.fontStyle.italic)
                    spannable.setSpan(new StyleSpan(Typeface.ITALIC), offset, offset + tok.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
                if (tok.fontStyle.underline)
                    spannable.setSpan(new UnderlineSpan(), offset, offset + tok.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
                offset += tok.length;
            }
            list.add(spannable);
        }
Устанавливает в EditText он вот таким образом

Java
1
setText(sp, BufferType.SPANNABLE);
Проблема в том, что этот код просто вешает телефон. При попытке ввести любой символ аппарат виснет а дальше окно завершения пивисшего потока. Вообще первый раз этой тема коснулся. Где у меня ошибка?
0
18.11.2015, 19:46

Не по теме:

вот бы проверить это на одной готовой строке, ну так, что бы что-то скопировать себе в тестовый проект, создать там EditText и все, а то код выглядт угрожающе и х.з. что бы форматируется :)

0
19 / 19 / 2
Регистрация: 13.07.2012
Сообщений: 164
19.11.2015, 11:06  [ТС]
В общем разобрался я в проблеме, наверное, во всяком случае пока новых глюков не было. Проблема была во флаге Spanned.SPAN_INCLUSIVE_INCLUSIVE . Вообще не совсем до конца понял что он делает, но его замена на EXCLUSIVE_EXCLUSIVE вернула скорость в норму.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2015, 11:06
Помогаю со студенческими работами здесь

Динамическое создание edittext и обработка данных из edittext
Здравствуйте, мне нужна помощь, у меня есть таблица, где динамически создаются edittext: for (int i = 0; i &lt;...

Быстродействие при работе с ADO access
Доброго времени суток! Нужен совет. Есть программа для просмотра логов сервера. В файле логов, формируемом сервером фигурируют id...

Увеличить быстродействие - HTML в TXT
Нужно примерно 10000 файлов HTML преобразовать в текстовый формат. на листе во втором столбце находятся пути файлов (10000 строк) ...

Линк на страницу HTML, при работе с if endif (всё очень сложно)
Код всей страницы: &lt;?php /** * This template is used in the Loop to display posts with the Image format * * @package...

Исключение при работе с pictureBox (задание картинки при работе с формой)
Хочу задать изображение в компоненте pictureBox во время разработки формы, чтоб при запуске проги сразу отображалась картинка. Задаю...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru