BulletSpan не работает в Android Textview
Я пытаюсь добавить пули в unordered
списки с использованием Bullet Span.
Но я не могу найти пули в списке. Ниже мой код:
private static String appendBullet(int leadingMargin, String liText) {
SpannableString spannableString = new SpannableString(liText);
spannableString.setSpan(new BulletSpan(leadingMargin), 0, liText.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
Log.d("Ul tags", String.valueOf(spannableString));
return spannableString.toString();
}
Вот liItext
это элемент списка. Я добавляю маркер сюда, а затем возвращаю элемент и добавляю его к list
и, наконец, добавив весь список в stringBuilder
,
liList.add(appendBullet(15, liText));
List<String> liList = addListWithBullets(lists, new ArrayList<String>());
if (liList.size() > 0) {
for (String str : liList) {
builder.append(str);
builder.append("<br/>");
}
Log.d("Ul tags", String.valueOf(liList));
}
0 ответов
Прежде всего вы, вероятно, захотите использовать SpannableStringBuilder
вместо того StringBuilder
. Во-вторых, в вашемappendBullet(...)
метод путем вызова toString()
на SpannableString
Например, вы, вероятно, теряете всю остаточную информацию! Вместо этого вы, вероятно, захотите добавить каждыйString
который должен быть внесен в список SpannableStringBuilder
экземпляр, а затем вызовите setSpan(...)
метод на SpannableStringBuilder
экземпляр для каждого из этих String
с.
Если это поможет, я собрал функцию расширения на SpannableStringBuilder
класс, который снимает с вас часть этой трудности. Вы можете найти здесь.