iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android基于RecyclerView实现高亮搜索列表
  • 971
分享到

Android基于RecyclerView实现高亮搜索列表

列表recyclerview高亮Android 2022-06-06 04:06:58 971人浏览 八月长安
摘要

话不多说先看今天的实现的效果: 相信这种效果很多项目都会用到,今天就讲讲利用RecycleView来实现他,博主把此篇文章定位初级篇,可能因为这确实很简单,所以我要更要讲的详

话不多说先看今天的实现的效果:

相信这种效果很多项目都会用到,今天就讲讲利用RecycleView来实现他,博主把此篇文章定位初级篇,可能因为这确实很简单,所以我要更要讲的详细一点让新手也可以能看的懂。

饭要开始做了,我们要准备哪些食材呢。

1.一个RecyclerView或是listview或是其他可以显示多item的控件(主要的干货)

2.搞清楚EditText的实时监听

3.让一个textview出现不同的颜色

4.如何穿过Adpter找出textview中key值(也就是高亮字符串)

当你打通这四个技术点后,如果还不能实现这种效果,那么你能说你现在的学习太死板,不会活学活用。如果你看到效果立马想到这四个技术点说明你有一定的项目组织能力了。接下来我们就解析一下这个四个食材。

1.RecyclerView犹豫这里比较简单可以使用原声的RecyclerView,但是笔者一直在用封装好的RecyclerView所以还用我之前封装好的来实现,如果对RecyclerView还不熟悉的传送门送你走:Http://blog.csdn.net/Androidmsky/article/details/52922348

2.EditText事实输入监听,其实就是个借口每次Editext中的字符发生改变会回调这个接口:


TextWatcher textWatcher = new TextWatcher() {
 @Override
 public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
 }
 @Override
 public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
 }
 @Override
 public void afterTextChanged(Editable editable) {
 }
 };

啪啪啪一注册接口,onTextChanged就是我们想要的方法了:

editMobile.addTextChangedListener(textWatcher);

3.textview显示不同颜色,其实这有很多种实现方式,最笨的就是用两个或者说是用三个textview左右挨着实现高亮颜色,然而这并不科学,我们使用StringFormatUtil这样一个工具类来实现高亮颜色。


StringFORMatUtil spanStr3 = new 
//分别是上下文,原串,key,高亮颜色。
StringFormatUtil(mContext, data.name,
  mkey, R.color.blue).fillColor();
  customerHolder.tvName.setText(spanStr3.getResult());

4.Adapter如何知道key。

在构造方法去传入就可以了:


 public CustomerCampanySearchAdapter(List<Customer> list, Context context, String key) {
 super(list);
 mContext = context;
 mkey = key;
 this.list = list;
 }

好的4个食材我们就准备好了

烹饪逻辑如下:

1.注册生产所有类。

2.在实时监控edittext的回调接口中重新构造CustomerCampanySearchAdapter传入新的key值。


public void showCustomer(List<Customer> list, String key) {
 if (list == null || list.size() == 0)
  return;
 customerList.clear();
 customerList.addAll(list);
 adapter = new CustomerCampanySearchAdapter(customerList, this, key);
 superRecyclerView.setAdapter(adapter);
 superRecyclerView.showData();
 adapter.setOnItemClickListener(new BaseRecyclerAdapter.OnItemClickListener() {
  @Override
  public void onItemClick(View view, int position, long id) {
  //
  }
 });
 }

3.在CustomerCampanySearchAdapter中的onBindViewHolder方法中改变Textview的高亮key值。


@Override
 public void onBindViewHolder(BaseRecyclerViewHolder holder, int position, final Customer data) {
 CustomerHolder customerHolder = (CustomerHolder) holder;
 customerHolder.tvName.setText(data.name);
 StringFormatUtil spanStr3 = new StringFormatUtil(mContext, data.name,
  mkey, R.color.blue).fillColor();
 if (spanStr3 != null)
  customerHolder.tvName.setText(spanStr3.getResult());
 else customerHolder.tvName.setText(data.name);
 }

效果就这样完美实现了,也提倡大家在分析的时候一定要冷静,首先看懂自己要什么效果,之后就是你需要什么子效果,然后是怎么把这些子效果串起来实现最终的效果。

本文GitHub:欢迎star https://github.com/AndroidMsky/SearchView

您可能感兴趣的文章:Android中RecyclerView实现多级折叠列表效果(二)Android中RecyclerView实现多级折叠列表效果(TreeRecyclerView)RecyclerView实现常见的列表菜单Android单个RecyclerView实现列表嵌套的效果Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新Android RecyclerView实现数据列表展示效果Android使用RecyclerView实现列表数据选择操作android实现RecyclerView列表单选功能Android RecyclerView实现下拉列表功能使用RecyclerView实现水平列表


--结束END--

本文标题: Android基于RecyclerView实现高亮搜索列表

本文链接: https://www.lsjlt.com/news/22645.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现recyclerview城市字母索引列表
    转拼音的依赖 implementation 'com.github.SilenceDut:jpinyin:v1.0' FastIndexView实现列表右侧字母索引列表 publi...
    99+
    2024-04-02
  • Android实现高亮搜索功能的示例
    目录首先看效果图:使用方法:1、普通场景使用2、在DataBinding中使用首先看效果图: 整词高亮: 分词高亮: 下面贴上我封的方法 fun stringToHig...
    99+
    2024-04-02
  • Android 手写RecyclerView实现列表加载
    目录前言1 RecyclerView的加载流程2 自定义RecyclerView2.1 RecyclerView三板斧2.2 初始化工作2.3 ItemView的获取与摆放2.4 复...
    99+
    2024-04-02
  • Android MVVM架构怎么实现RecyclerView列表
    本篇内容主要讲解“Android MVVM架构怎么实现RecyclerView列表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android MVVM架构怎么实现RecyclerView列表”...
    99+
    2023-06-25
  • react如何实现搜索关键字高亮
    这篇文章主要讲解了“react如何实现搜索关键字高亮”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现搜索关键字高亮”吧!react实现搜索关键字高亮的方法:1、利用正则从列表...
    99+
    2023-07-04
  • react怎么实现搜索关键字高亮
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react怎么实现搜索关键字高亮?React实现快速搜索并且关键字高亮需求:点击搜索按钮,弹出模糊匹配列表。下拉列表选择选项,点击后跳转相应页面关键字所在...
    99+
    2023-05-14
    关键字 React
  • Android MVVM架构实现RecyclerView列表详解流程
    目录效果图导入引用导入Recyclerview依赖导入dataBinding引用代码解析建立实体类建立RecyclerView子项适配器建立适配器设置子项点击事件adapter全部代...
    99+
    2024-04-02
  • JavaScript实现搜索联想关键字高亮功能
    使用原生js+css+html实现的输入框搜索联想的功能,并集搜索关键字高亮。 完整代码如下: 不需要任何依赖库,粘贴复制即可运行。 <!DOCTYPE html> &...
    99+
    2024-04-02
  • 详解elasticsearch实现基于拼音搜索
    目录1、背景2、安装拼音分词器3、拼音分词器提供的功能4、简单测试一下拼音分词器4.1 dsl4.2 运行结果5、es中分词器的组成6、自定义一个分词器实现拼音和中文的搜索1、创建m...
    99+
    2023-01-16
    elasticsearch 拼音搜索 elasticsearch 搜索
  • Android中RecyclerView实现多级折叠列表效果(二)
    前言在本文开始之前请大家先看一下这篇文章:https://www.jb51.net/article/113510.htm上面的这篇文章是之前写的,里面发现有很多不好用地方,也学到些新姿势,改动了许多地方。下面来看看详细的介绍:要点:&nbs...
    99+
    2023-05-31
    android recyclerview 多级列表
  • Android使用RecyclerView实现列表数据选择操作
    这些时间做安卓盒子项目,因为安卓电视的显示器比较大,所以一个界面显示 很多数据 ,最多的时候,一个Actvity中用到了好几个RecyclerView。在RecyclerView中实现Item选中处理时,发现用CheckBox的OnChec...
    99+
    2023-05-31
    android recyclerview checkbox
  • Android中RecyclerView实现多级折叠列表效果(TreeRecyclerView)
    前言首先不得不吐槽一下产品,尼玛为啥要搞这样的功能....搞个两级的不就好了嘛...自带控件,多好。三级,四级,听说还有六级的....这样丧心病狂的设计,后台也不好给数据吧。先看看效果:两级的效果:三级的效果:全部展开的效果(我只写了五级)...
    99+
    2023-05-31
    android recyclerview 多级列表
  • PHP 中基于 Elasticsearch 的模糊搜索与语义搜索实现
    在现代互联网环境下,搜索功能已经成为了各种应用的必备功能之一。传统的模糊搜索往往只能按照关键字进行简单的匹配,而缺乏了对用户意图的理解。而语义搜索则可以更好地抓住用户的意图,从而提供更加精确的搜索结果。在本文中,我们将介绍如何在 PHP 中...
    99+
    2023-10-21
    elasticsearch 模糊搜索 语义搜索
  • Android基于reclyview实现列表回弹动画效果
    reclyview实现列表回弹动画效果,供大家参考,具体内容如下 1.reclyview列表布局文件 <com.example.demo1.ReboundLayout     ...
    99+
    2024-04-02
  • vue实现搜索关键词高亮的详细教程
    目录正文解析正则api——execreg.exec执行接下来看看执行具体的执行结果提取关键字并分组完整vue代码正文 废话少说先上效果(左侧代码,右侧效果) ...
    99+
    2024-04-02
  • Vue2使用cube-ui实现搜索过滤、高亮功能
    目录前言一、需求流程:功能实现总结介绍 cube-ui 是基于 Vue.js 实现的精致移动端组件库。 特性 质量可靠由滴滴内部组件库精简提炼而来,经历了业务一年多的考验,...
    99+
    2023-01-07
    vue搜索过滤高亮 vue搜索过滤
  • Python基于链接表实现无向图最短路径搜索
    目录前言1. 链接表2. 最短路径算法2.1 无向图最短路径算法3. 总结前言 图的常用存储方式有 2 种: 邻接炬阵链接表 邻接炬阵的优点和缺点都很明显。优点是简单、易理解,对于大...
    99+
    2024-04-02
  • 微信小程序搜索关键词高亮怎么实现
    本篇内容介绍了“微信小程序搜索关键词高亮怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!项目中碰到一个需求,微信小程序搜索数据并且关键...
    99+
    2023-06-27
  • Android中怎么利用RecyclerView实现列表嵌套效果
    Android中怎么利用RecyclerView实现列表嵌套效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 定义多布局对象的基类:public class...
    99+
    2023-05-30
    android recyclerview
  • es+flask搜索小项目实现分页+高亮的示例代码
    环境 前端:html,css,js,jQuery,bootstrap后端:flask搜索引擎:elasticsearch数据源:某某之家 项目展示 项目目录 主要源码 获取数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作