我试图从我的 SpannableString 中删除样式,但不幸的是不起作用,我的目标是在单击文本时删除样式。

SpannableString content = new SpannableString("Test Text");
content.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, content.length(), 0);
...
点击操作:
content.removeSpan(new StyleSpan(Typeface.BOLD_ITALIC)) // not working

最佳答案

你新建的两个 styleSpan 不是同一个对象。您可以使用非匿名对象来指向它。像这样更改您的代码:
StyleSpan styleSpan = new StyleSpan(Typeface.BOLD_ITALIC);content.setSpan(styleSpan , 0, content.length(), 0);
点击操作:

content.removeSpan(styleSpan);
textView.setText(content);// to redraw the TextView

10-08 01:25