android– 如何用BulletSpan创建一个空子d段?

android– 如何用BulletSpan创建一个空子d段?,第1张

概述我想创建一个空的子d段落,但它没有用.这是我的代码:EditTextcontentET=(EditText)findViewById(R.id.content);contentET.setText("abc\n123\n");Spannables=contentET.getText();s.setSpan(newBulletSpan(),0,1,Spannable.SPAN_INCLUSIVE_INCLUSIVE);s.setSpan(

我想创建一个空的子d段落,但它没有用.
这是我的代码:

EditText contentET = (EditText) findVIEwByID(R.ID.content);contentET.setText("abc\n123\n");Spannable s = contentET.getText();s.setSpan(new BulletSpan(), 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);s.setSpan(new BulletSpan(), 4, 5, Spannable.SPAN_INCLUSIVE_INCLUSIVE);s.setSpan(new BulletSpan(), 7, 8, Spannable.SPAN_INCLUSIVE_INCLUSIVE);contentET.setText(s);

当我运行上面的代码时,似乎这行不起作用

s.setSpan(new BulletSpan(), 7, 8, Spannable.SPAN_INCLUSIVE_INCLUSIVE);

相反,我在“123”之后看到了意想不到的空白区域.
任何人都知道如何用BulletSpan创建一个空子d段?
谢谢!

解决方法:

我运行你的代码,看看你的意思. “123”之后的奇怪空白似乎是一个图形故障,因为它实际上并不被视为空间角色;即命中退格键,你会看到数字“3”被删除.

话虽如此,幸运的是,您可以轻松解决问题:您需要更改应用跨度的索引.将您自己代码中的行换成下面的行,您将看到奇怪的空白区域消失,第三个空子d出现.这也会在子d和它后面的实际文本之间引入一些间距.

s.setSpan(new BulletSpan(), 0, 0, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);s.setSpan(new BulletSpan(), 4, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);s.setSpan(new BulletSpan(), 8, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

就个人而言,我倾向于使这一点更加灵活,并将完整的字符串分解为单独的部分并迭代这些部分.使用SpannableStringBuilder,您可以附加文本并设置每个连接的跨度.在水下这已经发生了,因为在运行时contentET.getText()实际上会返回一个SpannableStringBuilder. 总结

以上是内存溢出为你收集整理的android – 如何用BulletSpan创建一个空子d段?全部内容,希望文章能够帮你解决android – 如何用BulletSpan创建一个空子d段?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存