myTextView.setMovementMethod(LinkMovementMethod.getInstance());
关键方法:public void setSpan (Object what, int start, int end, int flags)
下面是一个详细的例子:
public class TextViewJump2Activity extends Activity { private TextView mClickableText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); mClickableText = new TextView(this); mClickableText.setClickable(true); mClickableText.setTextSize(20); layout.addView(mClickableText); setContentView(layout); mClickableText.setText(getClickableSpan()); mClickableText.setMovementMethod(LinkMovementMethod.getInstance()); } private SpannableString getClickableSpan() { View.OnClickListener l = new View.OnClickListener() { public void onClick(View v) { Toast.makeText(TextViewJump2Activity.this, "Click Success", Toast.LENGTH_SHORT).show(); //在这里就可以做跳转到activity或者弹出对话框的操作了 } }; SpannableString spanableInfo = new SpannableString("This is a test, Click Here!"); int start = 16; int end = spanableInfo.length(); spanableInfo.setSpan(new Clickable(l), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return spanableInfo; } }
相关资源:通过Spannable设置TextView文字样式
