标签和TextView一行,并且有监听事件

一 如图所示

 

标签和TextView一行,并且有监听事件

 

 

二  代码:

SpannableStringBuilder builder = new SpannableStringBuilder();

int start = 0;
for (int i = 0; i < item.getTagList().size(); i++) {
    builder.append("#" + item.getTagList().get(i).getName() + " ");

    //设置部分文字点击事件   #水彩 #全民写生 香十九
    final int finalI = i;
    //点击事件
     /* builder.setSpan(new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            Toast.makeText(context, "#" + item.getTagList().get(finalI).getName() + " ", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setUnderlineText(false);
        }
    }, start, start + item.getTagList().get(i).getName().length() + 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);*/
    tvContent.setText(builder);

    start = start + item.getTagList().get(i).getName().length() + 2;
}
//设置部分文字颜色
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.parseColor("#f56123"));
builder.setSpan(foregroundColorSpan, 0, builder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(item.getContent());
//配置给TextView
tvContent.setMovementMethod(LinkMovementMethod.getInstance());
tvContent.setText(builder);