我正在尝试在 RecyclerView 内的文本视图中单独单击一组字符串(每个标签将传递不同的数据,这些数据是在加载时从 api 获取的)。我在方法中使用SpannableStringBuilder
如下bindView
方法创建了字符串。
fun bindView(link: PostsModel)
val tags = link.topics
var spans = SpannableStringBuilder()
for (tag in tags) {
val string = SpannableString(tag.name)
string.setSpan(ClickableTags(tag.name), 0, tag.name.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
spans.append(string)
}
}
然后我将它设置为文本视图。
view.headerTags.setText(spans, TextView.BufferType.SPANNABLE)
如果我是andprintln()
的内容,我可以看到它包含一串标签,所以它似乎正在工作。但是,在应用程序中进行测试时,它不会出现在文本视图中。spans
view.headerTags.text
如果我设置view.headerTags.text = "Tags should appear here"
,它可以工作,所以我不确定文本视图是否有问题。
看不出为什么它不会出现,特别是如果控制台正在打印出文本视图的内容?谁能让我知道我在这里可能缺少什么?