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),仅供参考

相关新闻

Normy快速上手:5分钟搞定React Query数据自动规范化与缓存自动更新

Normy快速上手:5分钟搞定React Query数据自动规范化与缓存自动更新

Normy快速上手:5分钟搞定React Query数据自动规范化与缓存自动更新 【免费下载链接】normy Automatic normalization and data updates for data fetching libraries (react-query, vue-query, trpc, swr, rtk-query and more) 项目地址: https://gitcode.com/gh_…

2026/8/22 15:05:15 阅读更多 →
D-Zone 隐私与安全指南:Bot Token 防护与频道监控的最佳实践清单

D-Zone 隐私与安全指南:Bot Token 防护与频道监控的最佳实践清单

D-Zone 隐私与安全指南:Bot Token 防护与频道监控的最佳实践清单 【免费下载链接】d-zone An ambient life simulation driven by user activity within a Discord server 项目地址: https://gitcode.com/gh_mirrors/dz/d-zone D-Zone 是一款由 Discord 服务…

2026/8/22 15:05:15 阅读更多 →
cmkr源码通配符(Glob)完整教程:用**.cpp模式免逐个列文件构建整个项目

cmkr源码通配符(Glob)完整教程:用**.cpp模式免逐个列文件构建整个项目

cmkr源码通配符(Glob)完整教程:用**.cpp模式免逐个列文件构建整个项目 【免费下载链接】cmkr Modern build system based on CMake and TOML. 项目地址: https://gitcode.com/gh_mirrors/cm/cmkr cmkr 是一款基于 CMake 和 TOML 的现代构建系统,本…

2026/8/22 15:04:15 阅读更多 →

最新新闻

TOPSIS与动态规划在旅游线路优化中的实战应用

TOPSIS与动态规划在旅游线路优化中的实战应用

1. 项目概述与赛题背景2021年长三角高校数学建模竞赛的A题“Go!Fun游长三角”,是一个典型的、融合了运筹优化与综合评价的复杂现实问题。拿到这个题目,第一感觉就是“味儿对了”——它不像一些纯理论推导题那样飘在空中,而是把数学模型实实在…

2026/8/22 17:38:04 阅读更多 →
从Claude Code限额事件看AI编程助手:如何构建可持续的高效工作流

从Claude Code限额事件看AI编程助手:如何构建可持续的高效工作流

上周,一个在开发者圈子里流传的消息,让不少正在用 Claude Code 写代码的朋友松了口气。原本传闻中即将收紧的 API 调用限额,被官方宣布延长到了 8 月底。这看起来只是一个简单的政策延期,但如果你仔细想想,为什么一个“…

2026/8/22 17:38:04 阅读更多 →
MCM与ICM数学建模竞赛深度解析:从核心差异到实战选择策略

MCM与ICM数学建模竞赛深度解析:从核心差异到实战选择策略

1. 开篇:从“傻傻分不清楚”到精准定位每年一月底到二月初,全球数万支大学生队伍都会进入一个紧张而兴奋的状态——备战美国大学生数学建模竞赛。无论是数学、计算机还是经管专业的同学,都或多或少听过MCM/ICM的大名。但当我第一次接触时&…

2026/8/22 17:38:04 阅读更多 →
人类活动分类的物理建模方法:从传感器数据到生物力学解释

人类活动分类的物理建模方法:从传感器数据到生物力学解释

1. 这道题到底在考什么:从“人类活动分类”看小美赛C题的真实命题逻辑2022年第十一届数学建模国际赛(小美赛)C题,标题直白但陷阱密布——“人类活动分类”。很多参赛队第一反应是:“不就是个机器学习分类问题&#xff…

2026/8/22 17:38:04 阅读更多 →
从自动化到智能体:数学建模如何为AI系统注入可计算的灵魂

从自动化到智能体:数学建模如何为AI系统注入可计算的灵魂

1. 从“自动化”到“智能体”:一个概念的演进与核心诉求最近几年,“人工智能自动化系统”这个词组在技术圈和产业界出现的频率越来越高。乍一听,它像是“自动化”和“人工智能”的简单叠加,但如果你真的去搜索“人工智能 agent 是…

2026/8/22 17:38:04 阅读更多 →
C++静态与非静态成员函数指针的本质区别与实战应用

C++静态与非静态成员函数指针的本质区别与实战应用

1. 从一次调试经历说起:为什么成员函数指针让我“踩坑”那天下午,我正在调试一个用C和Qt写的模块,里面用到了信号与槽。我设计了一个回调机制,想把一个类的成员函数作为回调参数传给另一个管理器对象。代码看起来很简单&#xff0…

2026/8/22 17:37:03 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →