У меня есть такая строка:
String s="12 year old Manick is <b>three</b> times as old as his brother Rahul. How old will Manick be when he is twice as old as Rahul ?";
Когда я устанавливаю эту строку в TextView, результат будет таким:
Я хочу, чтобы результат был таким:
12-летний Маник в три раза старше своего брата Рахула. Сколько лет будет Манику, когда он будет вдвое старше Рахула?
Что нужно сделать с исходной строкой, чтобы получить желаемый результат в TextView?
Фактически, мое требование - извлечь текст внутри тегов HTML, применить полужирное форматирование к тексту внутри тега и удалить теги из строки перед отображением в TextView.
Заранее спасибо!
P.S .: Строка взята из файла XML, поэтому она может отличаться!
1 ответ
Вы можете попробовать определить свой текст для TextView в strings.xml. Затем, если вы установите из html, он может быть перенесен в соответствии с размером экрана:
Итак, вы можете попробовать это:
<string name="nice_html">
<![CDATA["12 year old Manick is <b>three</b> times as old as his brother Rahul. How old will Manick be when he is twice as old as Rahul ?";
]]></string>
Затем в вашем коде:
TextView foo = (TextView)findViewById(R.id.foo); foo.setText(Html.fromHtml(getString(R.string.nice_html)));
РЕДАКТИРОВАТЬ:
Просто измените последний код на
//string s already defined in the question
TextView foo = (TextView)findViewById(R.id.foo);
foo.setText(Html.fromHtml(getString(s)));
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.