我正在开发一个我收到评论的应用程序,我必须在列表视图中显示。在评论中,我几乎没有标记好友的名字。在运行时生成的注释字符串包含很少的名称。
现在,我必须将完整注释字符串中的这些名称设为可点击。如何将Name与完整字符串分开,以在名称上添加单击侦听器。
请建议。
答案 0 :(得分:0)
您可以使用SpannableString和ClickableSpan实现此目的。
为此你需要你想要点击的子串的索引(遗憾的是我还没有想出如何使索引正确的有效方法)。您甚至可以将多个clickableSpans设置为一个String。
尝试这样的事情:
SpannableString text;
ClickableSpan clickMe;
public void onCreate(...){
text = new SpannableString(yourText);
clickMe = new ClickableSpan(){
@Override
public void onClick(View textView){
// Your ClickEvent
}
};
text.setSpan(clickMe, startIndexOfSubstring, EndIndexOfSubstring, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
然后,您只需将该文本应用于ListView中的TextView或Item,它就是可点击的。 我很遗憾没有在ListViews中使用此方法的经验,但在TextViews中,这对我来说很好。你也必须设置它:
yourTextView.setMovementMethod(LinkMovementMethod.getInstance());
希望这能以某种方式帮助你!