我需要使所有出现在textview中的单词都可以单击
例如。 -我的数组列表中有2个名字-Ajay和Dhananjay
并说我的textview中的文本是........
@Ajay
,@Dhananjay
,我昨天刚和@Vijay打了一场大仗
现在,我只需要突出显示textview中所有出现的@Ajay和@Dhananjay,并使它们也可单击
但不是@Vijay(因为它不在我的arraylist中)
怎么做?
最佳答案
我运行了这段代码,对我来说工作正常,请检查一下:
public class MainActivity extends AppCompatActivity {
TextView text;
String string = "@Ajay, @Dhananjay, I just had a great fight with @Vijay yesterday";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.textView1);
SpannableString ss = new SpannableString(string);
String[] words = string.split(" ");
for (final String word : words) {
if (word.startsWith("@") && word.endsWith(",")) {
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
//use word here to make a decision
}
};
ss.setSpan(clickableSpan, string.indexOf(word), string.indexOf(word) + word.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
text.setText(ss);
text.setMovementMethod(LinkMovementMethod.getInstance());
}
}
关于android - 如何在TextView中使特定单词出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33607808/