1、程序结构图
![f172a055eaa5f55e4404e74ad23b61d8.png](https://img-blog.csdnimg.cn/img_convert/f172a055eaa5f55e4404e74ad23b61d8.png)
2、MainActivity.java中的代码
packagecom.example.setlinkdemo;importjava.io.IOException;importorg.xmlpull.v1.XmlPullParserException;importandroid.app.Activity;importandroid.content.Intent;importandroid.content.res.ColorStateList;importandroid.content.res.XmlResourceParser;importandroid.os.Bundle;importandroid.text.Html;importandroid.text.SpannableString;importandroid.text.Spanned;importandroid.text.method.LinkMovementMethod;importandroid.text.style.ClickableSpan;importandroid.text.style.TextAppearanceSpan;importandroid.view.View;importandroid.widget.TextView;public class MainActivity extendsActivity {privateTextView tv_content;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_content= (TextView) this.findViewById(R.id.tv_content);
setLink();
}public voidsetLink() {//TODO Auto-generated method stub//创建一个 SpannableString对象
SpannableString sp = newSpannableString(
Html.fromHtml(getString(R.string.set_account_check)));
sp.setSpan(newClickableSpan() {
@Overridepublic voidonClick(View widget) {//TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this, TestActivity.class));
}
},11, 15, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
ColorStateList csl= null;
XmlResourceParser xpplinkcolor=getResources().getXml(
R.color.link_color);try{
csl=ColorStateList.createFromXml(getResources(), xpplinkcolor);
}catch(XmlPullParserException e1) {
e1.printStackTrace();
}catch(IOException e2) {
e2.printStackTrace();
}
sp.setSpan(new TextAppearanceSpan("monospace",
android.graphics.Typeface.NORMAL, (int) tv_content
.getTextSize(), csl, csl),11, 15,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_content.setText(sp);//不添加这一句,超链接不能点击
tv_content.setMovementMethod(LinkMovementMethod.getInstance());
}
}
3、TestActivity.java中的代码
packagecom.example.setlinkdemo;importandroid.app.Activity;importandroid.os.Bundle;public class TestActivity extendsActivity {
@Overrideprotected voidonCreate(Bundle savedInstanceState) {//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
4、link_color.xml文件中的代码
6、strings.xml文件中的代码
SetLinkDemo
Hello world!
Settings
继续进行意味着您已同意服务协议
7、AndroidManifest.xml文件中的代码
package="com.example.setlinkdemo"android:versionCode="1"android:versionName="1.0" >
android:minSdkVersion="8"android:targetSdkVersion="17" />
android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >
android:name=".MainActivity"android:label="@string/app_name" >