ListView显示数据,给关键词添加红色高亮显示 android

很多场景我们会遇到:比如说,app应用中添加搜索,将搜索出来的内容使用ListView显示出来。并且给内容中包含的关键字添加红色高亮显示。,

 

类似的效果图:

 

其他的程序代码就不用再重复写了/。

 

这里只列出具体实现高亮的代码。我直接加在listview_item里面的。

解决思路:

使用TextView显示带有html标签的内容,利用标签来设置文字样式。 

 

 

 

private SpannableStringBuilder builder = null;
		if (null != item) {
			// 根据搜索关键字的位置设置关键字为红色
			builder = new SpannableStringBuilder(item.getTitle());
			if (!keyWord.equals("")) {
				// keyWord是搜索的关键字。
				// index是该关键字在内容中的位置。
				int index = item.getTitle().toString().trim().indexOf(keyWord);
				if (index >= 0 && index < builder.length()) {
					// 找到这个关键字位置后在该位置前面添加html样式代码。
					builder.insert(index, "<font color=\"#ff0000\">");
					// 重新计算当前关键字位置。
					index = builder.toString().indexOf(keyWord);
					// 在最新位置后面添加结束标签。
					builder.insert(index + keyWord.length(), "</font>");
				}
			}
			// 显示文字
			TextView.setText(Html.fromHtml(builder.toString()));

		}
 


当然,肯定还有很多其他方法。可以再研究。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值