我需要使所有出现在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中使特定单词出现-LMLPHP

关于android - 如何在TextView中使特定单词出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33607808/

10-12 02:20