我想创建一个空的子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段?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)