首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BulletSpan在Android Textview中不起作用

BulletSpan在Android Textview中不起作用
EN

Stack Overflow用户
提问于 2015-11-20 15:07:30
回答 1查看 1.8K关注 0票数 1

我正在尝试使用BulletSpan.将项目符号添加到unordered列表中,但在列表中找不到项目符号。下面是我的代码:

代码语言:javascript
运行
复制
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中。

代码语言:javascript
运行
复制
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));
}
EN

Stack Overflow用户

发布于 2019-04-06 21:01:04

首先,您可能希望使用SpannableStringBuilder而不是StringBuilder。其次,在appendBullet(...)方法中,通过在SpannableString实例上调用toString(),您可能会丢失所有的跨越信息!相反,您可能想要做的是将每个要添加项目符号的String附加到SpannableStringBuilder实例,然后为每个String调用SpannableStringBuilder实例上的setSpan(...)方法。

如果有帮助,我已经在SpannableStringBuilder类上组合了一个扩展函数,它为您消除了一些困难。你可以找到here

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33820847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档