TextView点击链接跳转页面的方法分享给大家,这里用到的方法有些开发人员并没有接触过。
整体思路:将在TextView中显示的文字转换为SpannableString对象,这个SpannableString对象调用setSpan方法,实现跳转页面的功能,把这个SpannableString对象设置为TextView的Text值,并以链接的形式显示。
activity_main.xml文件:
<TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp"/> <TextView android:id="@+id/textview2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_marginTop="20dp"/>MainActivity.java文件:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView=(TextView)findViewById(R.id.textview1); TextView textView2=(TextView)findViewById(R.id.textview2); String text1="显示Activity1"; String text2="显示Activity2"; SpannableString spannableString=new SpannableString(text1); SpannableString spannableString2=new SpannableString(text2); spannableString.setSpan(new ClickableSpan() { public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this,Activity1.class); startActivity(intent); } }, 0, text1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); spannableString2.setSpan(new ClickableSpan() { public void onClick(View widget) { // TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this,Activity2.class); startActivity(intent); } }, 0, text2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); textView.setText(spannableString); textView2.setText(spannableString2); textView.setMovementMethod(LinkMovementMethod.getInstance()); textView2.setMovementMethod(LinkMovementMethod.getInstance()); }<span style="color:#cc33cc;"> </span>Activity1.java文件:
setTitle("活动1");Activity2.java文件:
setTitle("活动2");