我是使用Java进行Android开发的新手,正在开发一个在TextView中具有多个SpannableStrings的应用程序。这样我可以以不同的方式处理每个字符串。一旦在TextView中添加了多个SpannableStrings,我就遇到问题了,如何获得这些SpannableStrings的列表?我可以使用ClickSpan来获取click事件,但看不到添加SpannableStrings列表的方法。我需要SpannableString使用ClickSpan以编程方式触发点击事件。很抱歉使用任何非技术术语。下面是我的代码。
谢谢。
for(int i =0;i<list.size();i++) {
ClickableSpan span = new ClickableSpan() {
@Override
public void onClick(View widget) {
//
}
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor);
ds.setUnderlineText(false);
ds.setColor(Color.rgb(0, 0, 0));
};
SpannableString spannableString = new SpannableString(list.get(i));
spannableString.setSpan(span, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableStrings.add(spannableString);
view.append(spannableString);
}
最佳答案
如何做到这一点:
SpannableStringBuilder spannableString = (SpannableStringBuilder) textView.getText();
Object[] allSpans = spannableString.getSpans(0, textView.getText().length(), Object.class);
关于java - 如何获取在Android(Java)的textview中添加的SpannableStrings列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51161337/