android中textview的一部分,可点击

android中textview的一部分,可点击,android,string,textview,clickable,spannable,Android,String,Textview,Clickable,Spannable,我必须在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() {

我必须在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放入文本视图,可以使用
android:autoLink=“web”
大大简化此过程

另一个选择是。具体来说,我认为
fromHtml()
方法将允许您实现您想要的。您应该能够执行以下操作:

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

您也可以使用
linkify
选项:-在这种情况下,您只需动态构建字符串,并仅使其部分可单击即可

我从未听说过
自动链接
属性-酷


另一个选项,可能更接近您的原始问题-您可以创建两个相邻的不同文本视图(如果间距为奇数,请使用
layout_marginRight=“-8”
-使用负偏移,这可能需要稍微调整以获得完美的间距)。然后,您可以将“自动链接”属性仅应用于要单击的文本视图。

我只需执行href并将文本视图的整个字符串解析为html。除了你的链接外,文本看起来很正常,它将显示为蓝色。它可能不仅仅是一个url。可能是我想要单击并启动第三方应用程序的某些文本。FoamyGuy有正确的答案(但不是答案,因此我无法标记为正确)。我认为fromHtml()将是最无缝的。@Booger无论如何,你不能将它标记为正确的,这不是你的问题=p。不过我会编辑我的答案来添加它。@Booger/FoamGuy如果它不仅仅是一个url怎么办..请查看我之前的评论。这可能也是一个普通的文本。@androiddeveloper请看我答案的第二部分。我编辑添加了一个应该也适用于这种情况的方法。但是,如果你没有使用url,我建议你编辑你的问题,因为这是你陈述问题的方式。