android改变文字颜色,如何改变文字部分的颜色的Android

我有一个包含消息被发布到服务器像哇一句!超级图片#超级#图片#111#222喜欢图片如何改变文字部分的颜色的Android

我想提取hastags并使它们变为彩色,并保持文本的其余部分完好无损。

我试过下面的代码,但没有工作。

private void spannableOperationOnHastag() {

mPostMessage = edPostMessage.getText().toString().trim();

String strPreHash = null;

String strHashText = "";

if (mPostMessage.contains("#")) {

try {

int index = mPostMessage.indexOf("#");

strPreHash = mPostMessage.substring(0, index);

SpannableString spannableString = new SpannableString(strPreHash);

String strHashDummy=mPostMessage.substring(index, mPostMessage.length());

int hashCount= StringUtils.countMatches(strHashDummy, "#"); // check for number of "#" occurrence and run forloop for getting the number of hastags in the string

int hasIndex=0;

for (int i = 0; i

strHashText = strHashText+strHashDummy.substring(hasIndex, strHashDummy.indexOf(' '))+" ";

hasIndex =strHashText.indexOf(" "); // updating new space(" ") position in the index variable

}

SpannableString spannableStringBlue = new SpannableString(strHashText);

spannableStringBlue.setSpan(new ForegroundColorSpan(PublishPostActivity.this.getResources().getColor(R.color.blue)), 0, strHashText.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

edPostMessage.setText(null); // clearing old string

edPostMessage.append(spannableString); // setting extracted coloured text

edPostMessage.append(spannableStringBlue);

} catch (Exception e) {

Log.d(TAG, "validatePostMessage() called with " + "e = [" + e + "]");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值