TextView 设置部分文字颜色及点击事件SpannableString

设置TextView中一部分文字的颜色及点击事件。

 

SpannableString gotoMsgListStr = new SpannableString("消息列表");
            gotoMsgListStr.setSpan(new ClickableSpan() {
                @Override
                public void onClick(View widget) {
                    startActivity(new Intent(OrderPayStatusActivity.this, MsgListActivity.class));
                    finish();
                }
                @Override
                public void updateDrawState(TextPaint ds) {
                    super.updateDrawState(ds);
                    ds.setColor(getResources().getColor(R.color.text_color_gules)); //设置颜色
                }
            }, 0, gotoMsgListStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
...
tvPayDesc.append(gotoMsgListStr);
tvPayDesc.setMovementMethod(LinkMovementMethod.getInstance());  //很重要,点击无效就是由于没有设置这个引起

 

posted @ 2016-12-12 18:40  飞剑  阅读(4526)  评论(0编辑  收藏  举报