我正在尝试使用BulletSpan.
将项目符号添加到unordered
列表中,但在列表中找不到项目符号。下面是我的代码:
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
是列表项。我在这里添加了一个BulletSpan
,然后返回该项并将其添加到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));
}
发布于 2019-04-06 21:01:04
首先,您可能希望使用SpannableStringBuilder
而不是StringBuilder
。其次,在appendBullet(...)
方法中,通过在SpannableString
实例上调用toString()
,您可能会丢失所有的跨越信息!相反,您可能想要做的是将每个要添加项目符号的String
附加到SpannableStringBuilder
实例,然后为每个String
调用SpannableStringBuilder
实例上的setSpan(...)
方法。
如果有帮助,我已经在SpannableStringBuilder
类上组合了一个扩展函数,它为您消除了一些困难。你可以找到here。
https://stackoverflow.com/questions/33820847
复制相似问题