可点击的超链接Android

时间:2014-01-26 09:08:23

标签: android

在我的Android应用中,我想创建类似按钮的文本链接。

enter image description here

我希望链接的行为与HTML页面中的超链接完全相同,但我希望它们在单击时可以像Android按钮一样工作。

我怎样才能做到这一点?

(注意:Linkify不是我在这里寻找的。我不想要链接到网页。我希望链接像普通按钮一样工作。SpannableString可能有用但我是不知道怎么做。)

1 个答案:

答案 0 :(得分:1)

按建议使用Clickable Span

http://developer.android.com/reference/android/text/style/ClickableSpan.html

String s ="Your text";
TextView tv = (TextView) findViewById( R.id.textView1);
SpannableString ss=  new SpannableString(s); 
ss.setSpan(new  MyClickableSpan(s), 0, ss.length(),  Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(newForegroundColorSpan(Color.Blue),0,ss.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(ss1);
tv.setMovementMethod(LinkMovementMethod.getInstance());
class MyClickableSpan extends ClickableSpan{    
String clicked;
public MyClickableSpan(String string) {

    super();
    clicked =string;
    }

    public void onClick(View tv) {
         Toast.makeText(getApplicationContext(), "Clicked Text",Toast.LENGTH_SHORT).show();       

   }

    @Override
    public void updateDrawState(TextPaint ds) {
       ds.setUnderlineText(false); // set to false to remove underline
    }
    }