我必须在textview中显示一些文本。
我只希望文本的一部分是可单击的,其余的文本是正常的。

这是我的代码:

TextView mTextView = (TextView) findViewById(R.id.txt);
String mText = "some text.Link to click.Some more text";
SpannableString sb = new SpannableString(mText);
sb.setSpan(new ClickableSpan() {
    @Override
    public void onClick(View widget) {
        Intent in=new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.twitter.com/"));
        startActivity(in);
    }
},  mText.indexOf("Link"),mText.indexOf("Link") + 13,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

mTextView.setText(sb);
mTextView.setMovementMethod(LinkMovementMethod.getInstance());

最佳答案

如果要将完整的URL放入TextView中,则可以使用android:autoLink="web"大大简化此过程。

See the TextView docs for more

另一种选择是Html object。我认为特别是fromHtml()方法将使您实现所需的目标。您应该能够执行以下操作:

mTextView.setText(Html.fromHtml("blah blah <a href=\"http://some.site.com\">some text to be linkified</a> blah blah"));

10-07 19:37