簡體   English   中英

android中textview的一部分是可點擊的

[英]A part of textview in android to be clickable

我必須在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"來大大簡化此過程。

有關更多信息,請參閱TextView文檔

另一個選項是Html對象 具體來說,我認為fromHtml()方法可以讓你實現你想要的。 你應該可以做這樣的事情:

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

您還可以使用linkify選項: http//android-developers.blogspot.com/2008/03/linkify-your-text.html - 在這種情況下,您可以動態構建字符串,並僅使其成為你想要點擊它。

我從未聽說過autoLink屬性 - 很酷。

另一個選項,可能更接近你原來的問題 - 你可以創建兩個不同的TextViews彼此相鄰(如果間距是奇數,使用layout_marginRight="-8" - 使用負偏移,這可能需要一些調整到得到間距完美)。 然后,您可以將autoLink屬性僅應用於要單擊的TextView。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM