Как можно сделать часть текста, в ресурсе array жирным?

242
25 декабря 2017, 12:46

В ресурсах в файле arrays есть текст.

<string-array name="opisanString">
    <item>текст <b>жирный шрифт</b></item>
    <item>текст</item>
</string-array>

Затем я получаю доступ к TextView и вставляю текст.

private TextView mTitleOpis;
    mTitleOpis = (TextView)v.findViewById(R.id.opisan);
    mTitleOpis.setText(mModel.getOpis());

Но шрифт не меняется.

Answer 1

Как пишут в документации (см. раздел "Styling with HTML markup") строковые ресурсы, которые получаются методами getString(), getStringArray() и т.д. теряют информацию о стиле строки. Вам можно только посоветовать экранировать html-теги, и затем самому форматировать.

Сделайте так: замените все < на &lt;

Т.е. так:

<string-array name="opisanString">
<item>текст &lt;b>жирный шрифт&lt;/b></item>
<item>текст</item>
</string-array>

Теперь на выходе вы получите строку текст <b>жирный шрифт</b>

Не знаю, что скрывается у вас за конструкцией:

mTitleOpis.setText(mModel.getOpis());

Но если вы таким образом просто получаете строки из <string-array name="opisanString">, то форматируйте так:

mTitleOpis.setText(Html.fromHtml(mModel.getOpis()));
READ ALSO
Прокрутка до элемента внутри блока Jquery

Прокрутка до элемента внутри блока Jquery

Как сделать прокрутку именно внутри дива, а не по всей странице?

271
Как найти только те HTML элементы, в которых есть определенный элемент?

Как найти только те HTML элементы, в которых есть определенный элемент?

Есть кусок кода HTML страницы которую я парсю:

211
Отличие вызовов js и jquery

Отличие вызовов js и jquery

Всем доброго времени суток, назрел один небольшой вопрос, почему это работает:

208