我有一个包含标签 ex 的 textview。#first #second #third
. 我的问题是如何检测点击了哪个主题标签,以便我可以执行一些操作 - 例如。祝酒词。这可以使用 TextView 小部件吗?我应该使用其他小部件吗?
更新
我使用这个例子找到了我的解决方案。希望它会在未来对其他人有所帮助!
我有一个包含标签 ex 的 textview。#first #second #third
. 我的问题是如何检测点击了哪个主题标签,以便我可以执行一些操作 - 例如。祝酒词。这可以使用 TextView 小部件吗?我应该使用其他小部件吗?
更新
我使用这个例子找到了我的解决方案。希望它会在未来对其他人有所帮助!
您可以使用 spannable string 来实现此目的:
SpannableString ss = new SpannableString("Your string");
String[] words = ss.split(" ");
for(final String word : words){
if(word.startsWith("#")){
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
//use word here to make a decision
}
};
ss.setSpan(clickableSpan, ss.indexOf(word), ss.indexOf(word) + word.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
TextView textView = (TextView) findViewById(R.id.hello);
textView.setText(ss);
textView.setMovementMethod(LinkMovementMethod.getInstance());