Jan*_*Jan 7 android text textedit spannablestring
我现在试图解决我的问题2天,但没有任何成功.
问题是:当我将BulletSpan设置为文本然后在EditText中显示时,一切正常,直到我开始输入另一个文本.当文本被包裹在屏幕的末尾时,缩进工作但光标指向实际位置,并且光标之后还添加了前一行中的一些字符.为了更好地说明此问题,请参阅附图.
还值得一提的是,只有当我输入文本时才会发生这种情况,当我在源文本中设置文本并且文本太长而不能只在一行上时,包装工作正常并且没有添加额外的字符也没有添加光标位置是错的.
我也试过LeadingMarginSpan.Standart,行为是一样的.
在代码我设置开始标记:
private void handleListStart(SpannableStringBuilder text) {
int len = text.length();
text.setSpan(new ListItem(), len, len, Spannable.SPAN_MARK_MARK);
}
Run Code Online (Sandbox Code Playgroud)
然后设置范围:
private void handleListEnd(SpannableStringBuilder text) {
int len = text.length();
Object obj = getLast(text, ListItem.class);
int where = text.getSpanStart(obj);
text.removeSpan(obj);
if (where != len) {
text.setSpan(new BulletSpan(listIndent * 15), where, len, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
}
Run Code Online (Sandbox Code Playgroud)
我从xml文件中获取数据.
谢谢你的帮助
编辑:我忘了补充一点,我在Android 4.1和4.4上尝试了这一点,两者表现相同
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |