新闻详情

新闻详情

首页 / 资讯中心 / 详情

MentionEditText API参考清单:getMentionList、setPattern等8个核心方法完整详解

发布时间:2026/9/8 9:12:09来源:尧图网络
MentionEditText API参考清单:getMentionList、setPattern等8个核心方法完整详解
MentionEditText API参考清单getMentionList、setPattern等8个核心方法完整详解【免费下载链接】MentionEditTextMentionEditText adds some useful features for mention string(xxxx), such as highlight, intelligent deletion, intelligent selection and input detection, etc.项目地址: https://gitcode.com/gh_mirrors/me/MentionEditTextMentionEditText 是 Android 平台上一个轻量级的 提及mention输入框组件为 xxxx 这类字符串提供高亮显示、智能删除、智能选择和 输入检测四大功能。本文是一份 MentionEditText API 参考清单完整详解 getMentionList、setPattern 等 8 个核心方法新手也能快速上手。 MentionEditText 是什么4大特性一览MentionEditText 继承自 AppCompatEditText可以像普通输入框一样写在布局文件里但自动多了 4 项 提及专属能力特性效果✨ 高亮显示输入 Andy 时自动变成醒目颜色⌨️ 智能删除光标在 Andy 中间按退格先整段选中再按一次整体删除️ 智能选择光标无法停在 用户名内部拖选自动扩展到完整单词 输入检测用户刚输入 的瞬间触发回调方便弹出人员联想列表所有功能都集中在一个类中library/src/main/java/io/github/luckyandyzhang/mentionedittext/MentionEditText.java在布局中像普通输入框一样使用即可io.github.luckyandyzhang.mentionedittext.MentionEditText android:idid/editText android:layout_widthmatch_parent android:layout_heightwrap_content / 8个核心方法速查表先给一张 MentionEditText API 清单方便按需查阅行号均指 MentionEditText.java#方法类型作用源码行号1setPattern(tag, pattern)配置替换全部 匹配规则L1422addPattern(tag, pattern)配置新增一条匹配规则支持多标签L1523setMentionTextColor(color)配置设置 字符串高亮颜色L1614getMentionList(boolean)读取提取全部 提及L1715getMentionList(String, boolean)读取按标签提取 提及L1996setOnMentionInputListener(...)事件监听 字符的输入L2297setText(text, type)重写设置文本后光标自动移到末尾L858onCreateInputConnection(...)重写实现两次退格删除 用户名L80✍️ 如何提取用户getMentionList 两种用法详解getMentionList(boolean)一键取出所有提及// 假设文本为 hi Andy, 看看 Bob ListString users editText.getMentionList(true); // 返回 [Andy, Bob]参数传true时去掉开头的 符号得到Andy传false则保留完整字符串Andy。方法内部自动去重同一个用户被 多次也只会出现一次L171-L191。getMentionList(String, boolean)按标签分类提取当用 addPattern 同时配置了 和 # 两种规则时可以只提取其中一类ListString users editText.getMentionList(, true); // 只取 开头的提及第一个参数是规则标签第二个含义与上面相同L199-L222。 自定义匹配规则setPattern 与 addPattern 正则指南默认规则[\\u4e00-\\u9fa5\\w\\-]表示 后跟中文、字母、数字、下划线或连字符L51。两种配置方法的区别场景写法只保留一条规则会先清空已有规则editText.setPattern(, [a-zA-Z0-9_])同时识别 用户和 # 话题先addPattern(, ...)再addPattern(#, ...)⚠️ 注意setPattern内部会先执行mPatternMap.clear()再添加L142-L145想保留多条规则请务必用addPattern。 设置高亮颜色setMentionTextColor 使用技巧默认高亮色是红色L236可自定义为任意颜色editText.setMentionTextColor(Color.parseColor(#3B82F6));颜色值可用getResources().getColor()或Color.parseColor()获取L161-L163。修改后下一次文本变化时高亮即自动刷新无需手动刷新界面。 检测输入setOnMentionInputListener 监听器这是实现 弹出联想面板的关键方法L229editText.setOnMentionInputListener(new MentionEditText.OnMentionInputListener() { Override public void onMentionCharacterInput(String tag) { // 用户刚输入了 tag如 在这里弹出人员选择列表 } });只有当输入的字符与已配置的标签、# 等匹配时才会触发回调回调参数就是该标签本身。接口定义见 L408-L413配合 getMentionList 还能实现已 的人不再重复提示。⚙️ 两大自动机制智能选择与智能删除原理这两个能力无需调用任何 API组件内部自动完成机制实现位置行为智能选择onSelectionChangedL105-L135光标无法停在 用户名内部拖选自动扩展到完整单词智能删除onCreateInputConnectionL80-L82 内部类HackInputConnectionL331-L372光标在用户名中间时第 1 次退格整段选中第 2 次才真正删除另外setText()L85-L97也被重写程序设置文本后光标会自动跳到文本末尾方便用户接着输入省去了手动setSelection的步骤。 MentionEditText 默认配置一览表配置项默认值位置 标签DEFAULT_METION_TAGL50匹配正则DEFAULT_MENTION_PATTERN[\\u4e00-\\u9fa5\\w\\-]L51高亮颜色红色Color.REDL236键盘联想输入已关闭防输入法改写 用户名L238❓ 新手常见问题 FAQQ1删除 Andy 需要按几次退格两次。第一次把整个 Andy 选中第二次整体删除避免删出 An 这种残片。Q2getMentionList(true) 和 (false) 有什么区别true返回不含符号的Andyfalse返回完整的Andy发送消息前一般用true。Q3可以同时支持 用户和 # 话题吗可以。用addPattern分别添加两条规则再用带 tag 参数的getMentionList分类提取。Q4为什么输入框不再弹键盘联想词组件初始化时默认关闭键盘联想L238防止 用户名被输入法自动改写这是刻意设计。Q5接入项目需要什么依赖组件继承自 AppCompatEditText需引入 appcompat-v7 支持库依赖声明可参考README.md模块清单见library/src/main/AndroidManifest.xml许可证为 Apache 2.0LICENSE.txt。✅ 总结8个方法搞定提及完整体验MentionEditText 的 API 设计很克制8 个方法各司其职setPattern/addPattern管匹配规则setMentionTextColor管高亮外观getMentionList两个重载管结果提取setOnMentionInputListener管 输入检测setText和onCreateInputConnection两个重写方法则负责光标与智能删除体验。所有 API 均实现在library/src/main/java/io/github/luckyandyzhang/mentionedittext/MentionEditText.java中配合默认配置即可开箱即用非常适合聊天、评论类 App 快速接入 提及功能。【免费下载链接】MentionEditTextMentionEditText adds some useful features for mention string(xxxx), such as highlight, intelligent deletion, intelligent selection and input detection, etc.项目地址: https://gitcode.com/gh_mirrors/me/MentionEditText创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Windows下手动编译hiredis与Win32_Interop静态库完整指南 2026/9/8 9:11:42

Windows下手动编译hiredis与Win32_Interop静态库完整指南

简介:面向在Windows平台开展C/C项目并希望接入Redis的开发者,这份预编译的Redis客户端库将hiredis.lib、Win32_Interop.lib及相关头文件打包成套,解决了在Windows下直接使用Redis客户端库的痛点,省去从Linux环境移植、自行编译适配…

阅读更多 →
函数计算+AgentRun打造赛博朋克智能眼镜:硬件改造与云端编排实战 2026/9/8 9:11:42

函数计算+AgentRun打造赛博朋克智能眼镜:硬件改造与云端编排实战

1. 项目概述与整体设计思路 1.1 先从一副眼镜说起:这里要做的到底是什么 看到标题点进来的朋友,估计都是对硬件改造和 AI Agent 感兴趣的同道中人。先交代下背景,我做这个项目的时间窗口非常紧,只有 2 天,目标是把手头…

阅读更多 →
模板代码性能测试实战指南:指标、工具与流程解析 2026/9/8 9:11:42

模板代码性能测试实战指南:指标、工具与流程解析

“模板代码性能测试”这六个字放一起,信息量其实比看上去大得多。它不像“接口压测”或者“数据库调优”那样指向一个场景,而是横跨了多个领域:前端工程师讨论模板字符串渲染太慢,机器视觉工程师纠结模板匹配算法的耗时&#xff0…

阅读更多 →
测试文章怎么写?从标题到结构的内容搭建完整指南 2026/9/8 9:11:42

测试文章怎么写?从标题到结构的内容搭建完整指南

“测试文章标题01”,光看这个名字,很像我们在后台新建文档时随手敲的占位符。但既然要把它写成一篇能发出来的内容,就不能真把它当一个临时草稿处理。我平时写技术稿、运营稿,甚至给团队做内容中台规范时,最常被问的一…

阅读更多 →
OllyDbg调试器实战:从吾爱破解专用版到MFC程序动态分析 2026/9/8 9:11:42

OllyDbg调试器实战:从吾爱破解专用版到MFC程序动态分析

简介:这是一款吾爱破解社区定制版的 Ollydbg 逆向调试工具包,面向软件逆向分析、破解学习与安全调试场景,适合有一定汇编/调试基础的学习者使用。压缩包共收录 251 个文件,约 15.47MB,包含主程序 exe、运行所需的 dll …

阅读更多 →
子代理+Gauntlet循环:低成本榨干Claude模型价值的代码评审策略 2026/9/8 9:08:42

子代理+Gauntlet循环:低成本榨干Claude模型价值的代码评审策略

最近在团队里调 Claude 相关的工作流时,一个感受特别明显:模型能力确实强,但复杂任务一旦放开了跑,token 消耗和费用上涨的速度也是真的吓人。尤其是标题里这种“Claude Fable 5.1”之类的顶配模型叫法,不管它是某一代…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞