首页
学习
活动
专区
圈层
工具
发布

SearchView文字与RcyclerView进行动态搜索

很多事后我们需要用到SearchView文字与RcyclerView进行动态匹配,比如说歌词的关键字索引,列表查询等 那么这里就介绍一种常用的方案: ---- 具体运行效果: ---- 项目Demo...https://github.com/FishInWater-1999/android-SignInSystem ---- 为 Searchview 添加 setOnQueryTextListener...s) { return false; } @Override public boolean onQueryTextChange...,内容如下 ---- 使用 contains() 方法,与 SearchView 中输入的内容,进行字符串比较 留下有子段段中有搜索内容的 List /**该类由于将 list 与 字符串进行配对...(mList); recyclerAdapter.notifyDataSetChanged(); ---- 结束,欢迎关注我获得跟多小姿势~~ 关于 recyclerView 的基本使用:https:/

76620

Android 自定义弹窗 附带搜索过滤功能

以后如果有此类需求可直接移植使用。 需求是因为在下拉列表中选择一个项作为数据显示在界面上,但是所有的选项很多,下翻找很麻烦所有需要用个搜索框解决一下这个问题,下面是Demo的效果,可以先看一下。...Demo做的比较简单,但是扩展性很大,需要的小伙伴可以自行改造使用,源码放在了文章的最后。...---- 问题描述 开发前有个问题就是想用现成已有的东西放进去直接就能用了,也没有做自定义列表的东西,后面发现ListView的过滤功能不是很友好,它的过滤方式智能对数据的第一个字符进行过滤,如果是中间出现的字符它就会过滤不出来...,所以又重写了适配器并且重写了它的过滤方法,最后满足了功能要求。...,需要注意的是在使用SearchView的时候,要将数据过滤写在输入内容发生变化的方法onQueryTextChange()下。

83520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android动态搜索的简单实现

    前言 提到Android的动态搜索,大多应该会想到EditText的文本改变的监听器(addTextChangedListener),本文会简单介绍一下,但是本文介绍的是SearchView+Listview...效果图: 一、addTextChangedListener 使用这种方式的思路简述就是,当监听到文本改变时,就用Handler post一个Runnable去做相应的改变,动态修改ListView的显示...android.R.layout.simple_list_item_1, mStrings)); //设置是否可以通过键盘输入的字符来过滤掉不需要的选项...中用户输入字符时激发方法里写入简单逻辑 //用户输入字符时激发该方法 public boolean onQueryTextChange(String newText) { if...android.R.layout.simple_list_item_1, mStrings)); //设置是否可以通过键盘输入的字符来过滤掉不需要的选项

    37210

    Android开发笔记(一百一十九)工具栏ToolBar

    Toolbar 在前面的博文《Android开发笔记(二十)顶部导航栏》中,我们学习了ActionBar的用法,可是ActionBar着实是不怎么好用,比如文字风格不能定制、图标不能定制,而且还存在低版本的兼容性问题...有关原SearchView的使用说明参见《Android开发笔记(二十)顶部导航栏》,新旧两个SearchView的用法其实大同小异,当然新版的功能会更强大些,下面是android.widget.SearchView...2、基于上一点,新控件可取到SearchAutoComplete的对象,因此我们可给该对象注册自动完成的字符串适配器,在用户输入文字时,界面会自动弹出符合搜索条件的关键词列表; 3、setAppSearchData...下面是新版Toolbar与SearchView的使用截图: ?...下面是新版Toolbar与SearchView的使用代码示例: import java.util.Date; import com.example.exmtoolbar.util.Utils; import

    2.8K30

    vue中使用节流函数踩坑记录

    // 创建一个标记用来存放定时器的返回值 return function () { clearTimeout(timeout); // 每当用户输入的时候把前一个...首先说一下之前的踩坑行为 下面的代码为简易版的一个场景 function debounce(fn) { let timeout = null; // 创建一个标记用来存放定时器的返回值...initEvents实际上初始化的是父组件在模板中使用v-on或@注册的监听子组件内触发的事件 vue的事件机制 Vue.prototype....只关注执行栈 let func = function () { clearTimeout(timeout); // 每当用户输入的时候把前一个 setTimeout clear 掉...timeout = setTimeout(() => { // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 // interval 间隔内如果还有字符输入的话

    2.6K20

    less(1) command

    在 --use-backslash 选项之后,删除选项字符串中的任何反斜杠,并按字面意思处理后面的字符。...可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效一次 z 类似于 SPACE。...可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效多次 ESC-SPACE 先键入 ESC,再键入 SPACE,表示即使到达文件尾部仍然向前滚动一页 ENTER, RETURN...键入前可先输入数值 N,对当前与后续的 d 或 u 命令均有效,生效多次 b, ^B, ESC-v 向后滚动 N 行,默认为屏幕大小,可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值...键入前可先输入数值 N,对当前与后续的 d 或 u 命令均有效,生效多次 ESC-), RIGHTARROW 向右滚动 N 个字符,N 默认等于屏幕宽度的一半。

    1.1K30

    Linux 命令(89)—— less 命令

    在 --use-backslash 选项之后,删除选项字符串中的任何反斜杠,并按字面意思处理后面的字符。...可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效一次 z 类似于 SPACE。...可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效多次 ESC-SPACE 先键入 ESC,再键入 SPACE,表示即使到达文件尾部仍然向前滚动一页 ENTER, RETURN...键入前可先输入数值 N,对当前与后续的 d 或 u 命令均有效,生效多次 b, ^B, ESC-v 向后滚动 N 行,默认为屏幕大小,可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值...如果搜索到达当前文件的开头,但没有找到匹配项,那么搜索将继续在命令行列表中的前一个文件中进行 ^F 或 @ 从命令行列表中最后一个文件的最后一行开始搜索,不管当前屏幕上显示的是什么,也不管 -a 或

    5.3K30

    vim的快捷键大全

    按下来你可以象平常一样键入你要的操作, 只是这些操作都会被Vim记录进它命名为a’的宏中, 再次再下”q”键, 就结束了宏`a’的录制。当你要重复执行你刚才记录的那些操作时只要使用”@a”命令。...光标位于单词的第一个字母处。 nw这个操作很慢,不知何故。 以空格、标点符号与单词的分界为分隔符。(几个连续的标点视为一个单词) 同样的,也可以使用nB,nW,只是这里只使用空格做为分隔符。...如果要删除整个单词(光标位于单词中间的话),可以 dbw\wdb de:类似于dw,删除单词后面的部分(只删除到本单词结尾,dw会删除掉单词后面的空格) dE:删除的范围包括标号在内的单词结尾。...不同的是,w移动到单词第一个字符上,e移动到单词最后一个字符上。 所以ea,可以给本单词追加内容。 D:d的简写,同样的,C:c 的简写,同样的,C:c的简写。...-:到上一行的第一个字符。 n|:移动到当前行的第n列 e:移到单词的结尾 E:移到单词的结尾(忽略标点符号) ( ) { } [[ ]] 这几个对编程作用不大,可忽略。

    2.7K40

    linux下shell技巧

    一般来说shell的命令行编辑使用Emacs或者Vi模式,也就是说可以用Emacs或者Vi的操作指令来进行命令行的编辑,默认的模式是Emacs模式。     ...Ctrl+T:将光标所在处的字符和光标前一字符对调,T,可以理解为Transfer。     Alt+T:交换两个光标当前所处位置单词和光标前一个单词。     ...:删除所有字符,比Ctrl+U强。     Ctrl+K:从光标所在处开始删除字符,直到行尾。     Ctrl+W:删除最后一个单词;W,Word。     Ctrl+A:移动光标到行首。     ...Ctrl+C:取消全部键入。     Ctrl+H:删除一个字符,相当于“delete”键,觉得“delete”键太远可以使用此快捷键;h,可以理解为vim里的左移键。     ...:上一次执行的命令的最后一个参数,如果上一个命令没有参数,则显示上一个命令。     Ctrl+P:向前浏览历史命令。     Ctrl+N:向后浏览历史命令。

    1.7K10

    VIM编辑器基操

    强制退出 wq 保存退出 文本编辑 按下x键以删除光标所在的字符 按下 i键 以插入文本 按下 A键 以行末追加文本 按下 a键 以字符后追加文本 键入 小写字母 o 以在光标下插入一行,并置于插入模式...要在光标前插入一行,只需键入 大写字母 O 键入 a 以在光标后插入文本 按下 y键 复制 按下 p键 粘贴 按下 c键 更改光标位置,同等于d+i 删除操作 删除光标到下一个单词:dw 删除光标到行尾...(罗列在下方) 关于对象的小清单: w -到下一个单词头,除开所在的第一个字符。 e -到下一个单词尾,包括所在单词的最后一个字符。 $- 到行尾,包括了最后一个字符。 0- 到行首,包含空格。...G -到文本最后一行首 gg -到文本首行。 所以de会删除光标处到单词尾下的字符。...一些选项: 'ic' 'ignorecase' 搜索时忽略大小写 'is' 'incsearch' 部分显示匹配的搜索短语。

    99020

    教程 | Vim 教程【命令-操作-快捷键】

    ~$ :set ignorecase  忽略大小写的查找 :set noignorecase  不忽略大小写的查找 查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索...:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。 :set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。...删除命令 x 删除当前字符 3x 删除当前光标开始向后三个字符 X 删除当前字符的前一个字符。...Ctrl+ww 移动到下一个窗口 Ctrl+wj 移动到下方的窗口 Ctrl+wk 移动到上方的窗口 关闭窗口 :close 最后一个窗口不能使用此命令,可以防止意外退出vim。...关闭所有窗口,只保留当前窗口 :only 录制宏 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。

    1.3K20

    138 条 Vim 命令、操作、快捷键全集

    ~$ :set ignorecase  忽略大小写的查找 :set noignorecase  不忽略大小写的查找 查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索...:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。 :set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。...删除命令 x 删除当前字符 3x 删除当前光标开始向后三个字符 X 删除当前字符的前一个字符。...Ctrl+ww 移动到下一个窗口 Ctrl+wj 移动到下方的窗口 Ctrl+wk 移动到上方的窗口 关闭窗口 :close 最后一个窗口不能使用此命令,可以防止意外退出vim。...关闭所有窗口,只保留当前窗口 :only 录制宏 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。

    1.4K00

    教程 | Vim 教程【命令-操作-快捷键】

    ~$ :set ignorecase  忽略大小写的查找 :set noignorecase  不忽略大小写的查找 查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索...:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。 :set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。...删除命令 x 删除当前字符 3x 删除当前光标开始向后三个字符 X 删除当前字符的前一个字符。...Ctrl+ww 移动到下一个窗口 Ctrl+wj 移动到下方的窗口 Ctrl+wk 移动到上方的窗口 关闭窗口 :close 最后一个窗口不能使用此命令,可以防止意外退出vim。...关闭所有窗口,只保留当前窗口 :only 录制宏 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。

    1K20
    领券