public class TextHtmlActivity extends Activity {    private TextView text;    private Activity mActivty;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.text_html_layout);        mActivty = this;        text  = (TextView) findViewById(R.id.text);        text.setText(Html.fromHtml("text3:  " +                "Text with a " + "link " +                "点击这个连接---"+                "连接 "+                "created in the Java source code using HTML."));        text.setMovementMethod(LinkMovementMethod.getInstance());        CharSequence str = text.getText();        if(str instanceof Spannable){            int end = str.length();            Spannable sp = (Spannable)text.getText();  //构建Spannable对象、继承Spanned、Spanned对象继承CharSequener            URLSpan[] urls=sp.getSpans(0, end, URLSpan.class);  //找出text中的a标签            //SpannableStringBuilder、SpannableString对象跟String对象差不多、只是比String对象多setSpan,            //可以给字符串设置样式、大小、背景色...而 SpannableStringBuilder跟SpannableString的关系就跟String跟StringBuffer关系一样            SpannableStringBuilder style=new SpannableStringBuilder(str);            style.clearSpans();//should clear old spans            for(URLSpan url : urls){                MyClickSpan myURLSpan = new MyClickSpan();                //设置样式其中参数what是具体样式的实现对象,start则是该样式开始的位置,end对应的是样式结束的位置,                // 参数 flags,定义在Spannable中的常量                style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);            }            text.setText(style);        }    }    private class MyClickSpan extends ClickableSpan{        @Override        public void updateDrawState(TextPaint ds) {            ds.setUnderlineText(false);            super.updateDrawState(ds);        }        @Override        public void onClick(View widget) {            Toast.makeText(mActivty,"click link",Toast.LENGTH_SHORT).show();        }    }}

更多相关文章

  1. 类和 Json对象
  2. 【Android(安卓)内存优化】Bitmap 内存缓存 ( Bitmap 内存复用 |
  3. Android主题和样式
  4. Android作为CXF客户端调用服务端。
  5. android 一直在最前面的浮动窗口效果
  6. 2010.11.11———Android(安卓)TabHost选项卡组件
  7. JsonObject和Gson详解
  8. Android菜鸟日记10 SQLite 数据库
  9. 2010.11.11———Android(安卓)TabHost选项卡组件

随机推荐

  1. Android学习路线
  2. Android脚本语言环境 SL4A
  3. android知识链接汇总
  4. Android之ActionBar学习
  5. 平安科技移动开发二队技术周报(第十三期)
  6. 将 Android(安卓)Studio 的项目放入Andro
  7. Android学习系列(2)--App自动更新之通知
  8. Android中数据存储——文件存储数据
  9. 史上最全的android studio 插件大全整理
  10. Android(安卓)Power Management 实现