Android:如何从编辑文本中提取具有 Bold Span 格式的单词并将它们添加到列表中。

标签 android android-edittext

我已经为 EditText 中的某些特定单词设置了 Bold Span,现在我想从 EditText 中获取这些单词并将它们添加到列表中。
我怎样才能找到加粗的单词并将它们添加到列表中?

最佳答案

你可以这样做。

EditText t /* assign EditText instance */
Editable text = t.getText();
StyleSpan[] spans = text.getSpans(0 , text.length(), StyleSpan.class); 
ArrayList<CharSequence> list = new ArrayList<CharSequence>(10); 
for (StyleSpan s : spans){
    if (s.getStyle() == android.graphics.Typeface.BOLD){
        int start = text.getSpanStart(s);
        int end = text.getSpanEnd(s);
        CharSequence cs = text.subSequence(start, end+1); 
        list.add(cs); 
    }
}

关于Android:如何从编辑文本中提取具有 Bold Span 格式的单词并将它们添加到列表中。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643434/

相关文章:

java - 如何将 Java 9 添加到 Android Studio?

android - 三星 s3 EditText.setText() 挂起 UI

java - Android 中如何将数据从一个页面移动到另一页面

Android EditText 在长文本上被拉伸(stretch)

android - 使用线程从服务中返回START_STICKY

android - 动画旋转上的空对象引用 = AnimationUtils.loadAnimation(getContext(), R.anim.rotate);

javascript - ios-deploy 安装失败

Android:在确定需要更新的行后更新数据库中的行时遇到问题

android edittext onchange 监听器

android - 触摸编辑文本时键盘不显示