在我的Android应用中,我想创建类似按钮的文本链接。
我希望链接的行为与HTML页面中的超链接完全相同,但我希望它们在单击时可以像Android按钮一样工作。
我怎样才能做到这一点?
(注意:Linkify
不是我在这里寻找的。我不想要链接到网页。我希望链接像普通按钮一样工作。SpannableString
可能有用但我是不知道怎么做。)
答案 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
}
}