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

Почему в EditText не работает html тэг <strike>? - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Severomor
2 / 2 / 0
Регистрация: 09.01.2014
Сообщений: 15
16.01.2014, 21:04     Почему в EditText не работает html тэг <strike>? #1
Добрый вечер,
Почему не работает конструкция:

Java
1
2
Spanned s= Html.fromHtml("<strike>my test text</strike>");
                        editText.setText(s);
<b>,<i> работают, а strike нет! (
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 21:04     Почему в EditText не работает html тэг <strike>?
Посмотрите здесь:

Android Edittext
Android Почему не работает setTop()
Почему .setBackground не работает? Android
Почему WebView не работает Android
Android Почему здесь не работает Intent?
Почему работает? Android
Android Не работает код получения html
Android Почему оператор сравнения не работает?
Быстродействие EditText при работе с html Android
Android Почему не работает GET запрос?
Android Не работает Html.fromHtml()

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
16.01.2014, 21:47     Почему в EditText не работает html тэг <strike>? #2
Цитата Сообщение от Severomor Посмотреть сообщение
Почему не работает конструкция
Поддерживаются далеко не все теги. Если верит интернету, то Html.fromHtml понимает следующие теги:
Кликните здесь для просмотра всего текста
<a> (supports attribute "href")
<b>
<big>
<blockquote>
<br>
<cite>
<dfn>
<div>
<em>
<font> (supports attributes "color" and "face")
<i>
<img> (supports attribute "src". Note: you have to include an ImageGetter to handle retrieving a Drawable for this tag)
<p>
<small>
<strong>
<sub>
<sup>
<tt>
<u>

Но при этом перечеркнутый текст можно хранить в виде строкового ресурса. В строковых ресурсах поддерживаются следующие теги:
Кликните здесь для просмотра всего текста
<a> (supports attributes "href")
<annotation>
<b>
<big>
<font> (supports attributes "height", "size", "fgcolor" and "bicolor", as integers)
<i>
<li>
<marquee>
<small>
<strike>
<sub>
<sup>
<tt>
<u>

Вот ссылка на источник http://daniel-codes.blogspot.ru/2011...textviews.html
Severomor
2 / 2 / 0
Регистрация: 09.01.2014
Сообщений: 15
16.01.2014, 21:53  [ТС]     Почему в EditText не работает html тэг <strike>? #3
Цитата Сообщение от angryrobot Посмотреть сообщение
Но при этом перечеркнутый текст можно хранить в виде строкового ресурса. В строковых ресурсах поддерживаются следующие теги:
А чем это поможет? Если html-строку просто засунуть в EditText, он тэги не понимает.
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
16.01.2014, 22:11     Почему в EditText не работает html тэг <strike>? #4
Цитата Сообщение от Severomor Посмотреть сообщение
Если html-строку просто засунуть в EditText, он тэги не понимает.
Конечно не понимает, строку надо засовывать в строковый ресурс. А потом в EditText указать на него ссылку.
Содержимое файла res\strings.xml
XML
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="strikedText">Меня <strike>зачеркнули</strike></string>
</resources>
Содержимое layout файла
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/strikedText"
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
</RelativeLayout>
Результат
Почему в EditText не работает html тэг <strike>?

UPD. У меня тут используется TextView, но и с EditText проблем нет.
Severomor
2 / 2 / 0
Регистрация: 09.01.2014
Сообщений: 15
16.01.2014, 22:27  [ТС]     Почему в EditText не работает html тэг <strike>? #5
angryrobot,
Спасибо, но это мне наверно не подойдет. Мне надо на лету. То есть взять строку из EditText, кусок ее зачеркнуть и вставить обратно.
Хотел использовать SpannableStringBuilder, попробовал, он работает, но там другая беда - мне отформатированные строки надо же еще сохранять в файле, а там замучаешься это делать.
Блин, вот подстава, им что, трудно было включить поддержку <strike> в html!
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
16.01.2014, 23:04     Почему в EditText не работает html тэг <strike>? #6
Пардон, не сразу дочитал ваше сообщение до конца, а удалить уже не могу
Цитата Сообщение от Severomor Посмотреть сообщение
Мне надо на лету.
Да это тоже не проблема
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SpannableStringBuilder sp = new SpannableStringBuilder("Текст перечеркнут");
        //Перечеркивать с 6-го по 17-й символ
        sp.setSpan(new StrikethroughSpan(), 6, 17, SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
        EditText et = (EditText) findViewById(R.id.editText1);
        et.setText(sp);
    } 
}
Добавлено через 3 минуты
Цитата Сообщение от Severomor Посмотреть сообщение
Блин, вот подстава, им что, трудно было включить поддержку <strike> в html!

Не по теме:

Действительно очень не предусмотрительно с их стороны

Yandex
Объявления
16.01.2014, 23:04     Почему в EditText не работает html тэг <strike>?
Ответ Создать тему
Опции темы

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