Android EditText最大字数限制并提示

2023-05-16

     public class MaxTextLengthFilter implements InputFilter {

        private int mMaxLength;
        //构造方法中传入最多能输入的字数
        public MaxTextLengthFilter(int max) {
            mMaxLength = max;
        }

        public CharSequence filter(CharSequence source, int start, int end,
                                   Spanned dest, int dstart, int dend) {
            int keep = mMaxLength - (dest.length() - (dend - dstart));
            if (keep < (end - start)) {
                showToast("最多只能输入" + mMaxLength + "个字");
            }
            if (keep <= 0) {
                return "";
            } else if (keep >= end - start) {
                return null;
            } else {
                return source.subSequence(start, start + keep);
            }
        }
    }


简单用法:

找到你需要限制字数的EditText,直接设置就行

editText.setFilters(new InputFilter[]{new MaxTextLengthFilter(64)});

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android EditText最大字数限制并提示 的相关文章

  • 上传到 Google Play 商店后应用程序屏幕截图变得模糊

    我制作了一个简单的 Android 应用程序 并已在 Google Play 商店上发布 一切似乎都运行良好 但是 我上传的应用程序的屏幕截图在 Play 商店上变得模糊 即使真实图像看起来不错 我在 SO 上发现了一些类似的问题 但没有一
  • 如何在 Android 中从服务器检索数据时更新滚动的 ListView?

    目前 我正在使用 AsyncTask 来处理 Http 连接并以 JSON 格式检索数据 加载所有数据很简单 但会消耗太多时间 因此我决定使用一次加载 10 个项目LIMIT OFFSET mysql 接下来我设置事件onScroll为我的
  • Android Room 持久性库无法在库项目内工作

    我正在开发一个 Android 库 并希望在其中使用新的 Android Room 持久性库 但是 启动时我收到此错误 Caused by java lang RuntimeException cannot find implementat
  • Android 上的透明视频

    有什么办法让Android播放带有透明区域的视频吗 当我尝试在 VideoView 中播放包含透明区域的 WebM 视频时 视图的背景保持黑色 我希望看到透明区域上显示的父视图的背景 而不是黑色 到目前为止 我发现的唯一可行的解 决方案是从
  • Android Google Cast 通知禁用

    我将 Google Cast 集成到了我的 Android 应用程序中 我的所有内容都是通过带有通知的服务播放的 当我使用 Google Cast 播放媒体时 它会添加自己的通知 是否可以禁用默认的谷歌强制转换通知并仅使用自己的通知 谢谢
  • 在 Firebase 群组消息应用中实现已读回执功能

    我想在我的 Firebase 群组消息应用中实现 Seen 功能 您能否建议采取最好 最有效的方法 工作代码将不胜感激 例如 应用程序会显示 已被 6 人看过 or 15 人看过 在群组消息中 这是我的项目 https github com
  • android中如何实现列表之间的拖放?

    我试图做到这一点 以便用户可以从一个列表视图中拖动文本视图 然后将其放入另一个列表视图中 但我发现这非常困难 到目前为止我发现的最大问题是 onTouchEvents 似乎只能在 ACTION DOWN 事件起源的视图中听到 我将单击一个列
  • 如何使用 WiFi Direct 打印文本文件

    我有一个正在运行的 Android 应用程序 可以显示用户统计信息 我想将纯文本格式 txt 的小报告发送到 WiFi Direct 打印机 我已经下载了示例demo https developer android com guide to
  • 如何在 Android Studio 中立即获取 LivaData 的值?

    savedRecordFileName是一个变量LivaData
  • Android 中如何获取帧

    实际上 我需要从视频中获取所有帧 但在使用 Mediametadataretriever 缩略图 时间戳获取帧时 我经常重复获取第一帧 然后获取特定时间帧 我通过更改所有 GetFrameAtTime options 尝试了很多修复 但仍然
  • 让 SSLEngine 在 Android (4.4.2) 上使用 TLSv1.2?

    伙计们 我希望我遗漏了一些明显的东西 并且我希望有人能够提供一些线索 我正在尝试让 TLSv1 2 在 SSL NIO 上下文中运行 使用Android异步 https github com koush AndroidAsync库 所以我尝
  • Android源代码中PathClassLoader的实例是在何时何地创建的?

    当我研究android源码时 我注意到app中的通用类加载器是一个实例PathClassLoader 并且该类中有两个构造函数 一种是这样的 public PathClassLoader String dexPath ClassLoader
  • Android:使用 putExtra 从片段访问容器活动对象?

    我正在使用操作栏和片段构建选项卡界面 我需要帮助将数据从容器活动发送到片段 详细地说 我在容器活动中有作业对象 我根据工作对象中的信息创建了几个选项卡 如公司详细信息 经验详细信息等 我需要将作业对象传递给这些片段 以便它可以显示相应的信息
  • 设置数据漫游开/关

    如何在 Android 应用程序中以编程方式设置数据漫游开 关 提前为重新打开一个死帖子表示歉意 但我已经通过调用此可执行文件成功实现了它 su c settings put global data roaming0 1 另外 要获取第一张
  • Android:Enter 或 Tab 键仍然使用 jetpack compose 在密码输入字段中输入值

    当我输入或 Tab 键时 仍然使用 jetpack compose 在密码输入字段中输入值 下面是我的代码片段 val focusRequester FocusRequester createRefs TextField value tex
  • 如何将测试文件夹添加到旧的 Android Studio 项目

    我在将用于测试的项目结构添加到 Android Studio 中的旧 Android 项目中时遇到一些问题 当您在 Android Studio 中创建新项目时 您将获得从一开始就创建的用于测试的目录 src test java for u
  • Android,java - 无法从 asynctask 更新变量

    这是代码 声明的变量 public String gpu2dcurent 1234567 Asynctask 完成后应该更新变量 gpu2dcurent 但它没有 private class readgpu2d extends AsyncT
  • 谷歌放置片段上的Java空指针异常

    当我尝试尝试自动完成位置功能时 出现空指针异常 我像文档中一样添加了片段 并需要帮助来解决这个问题 谢谢 主要活动 package com example srinivas mapautocompletetest1 import andro
  • Ionic Cordova Build Android 未找到已安装的构建工具

    我在 Ubuntu 16 04 上的 Android 上构建 ionic 应用程序时遇到问题 这是我为了实现这一目标所做的一步 下载Android Studio 下载Android SDK 在 bashrc 和 bash profile 中
  • Android:单击分组通知会重新启动应用程序

    我正在尝试解决我在通知方面遇到的问题 在我的应用程序中 当有人单击列表项下载文件时 我将创建一个通知 带有不确定的进度和随机生成的整数代码 在下载回调中 我使用原始通知的相同 ID 更新通知以停止进度 单击通知应该打开手机上的下载文件夹 使

随机推荐

  • C# socket通信 接收缓冲区大小设置,以及粘包问题的解决

    C socket通信 接收缓冲区大小 xff0c 以及粘包问题的解决 一 Socket接收缓冲区无论 xff1a 1 buffer设置有多大 xff1b 2 同步接收还是异步接收 xff1b 3 发送超过 43690 也就是 42KB的字节
  • 解决linux更新apt软件源时报出GPG错误

    今天给树莓派换源 爆出N个这错误 W GPG error http mirrors neusoft edu cn raspbian raspbian wheezy InRelease The following signatures cou
  • C语言状态机学习笔记一

    出处 xff1a http www cnblogs com tangerious p 4565833 html 状态机的好处不用多说 xff0c 自己百度去 xff0c 但传统的编程模式 xff0c 无论是C语言 xff0c 或是硬件FPG
  • 单片机课设-60秒倒计时器

    proteus单片机实现60秒倒计时器 项目要实现的60s秒表倒计时器 xff0c 用 AT89C51单片机的定时 计数器 T0 产生一秒的定时时间 xff0c 实现 59 到 0秒的循环显示的功能 具体要求 xff1a 1 xff09 按
  • 位运算的操作(加减乘除、负数、乘方、1的个数)

    一 位运算相关规律 43 口诀 c 43 43 中的位运算相关规律总结和口诀 二 加减乘除 int add int num1 int num2 int temp do temp 61 num1 num2 不进位相加 xff1a 异或 num
  • PgSQL upsert批量查询插入或更新(insert select/on conflict do update踩坑记录)

    PGSQL数据库中根据唯一索引判断存在不存在 xff0c 存在则更新 xff0c 不存在就新增 xff0c 可以参考下的sql xff0c 注意其中的item type item type id item group item group
  • 程序员必备的11个Github优质项目

    GitHub 不仅仅是一个版本控制服务 xff0c 它还是一个了不起的内容资源 xff0c 从免费的电子书和教程 xff0c 到面试准备材料和 34 了不起 34 的文章 xff0c 应有尽有 如果你是经常访问GitHub的开发者 xff0
  • spring为什么要使用三级缓存来解决循环依赖?

    不用三级缓存 xff0c 用二级缓存能不能解决循环依赖 这里我先说一下前面没提到的细节 xff0c 那就是通过ObjectFactory获取的Bean可能是两种类型 xff0c 第一种就是实例化阶段创建出来的对象 xff0c 还是一种就是实
  • nginx事件模块

    1 模块依赖 2 基础数据结构 2 1 ngx event t struct ngx event s void data unsigned write 1 unsigned accept 1 used to detect the stale
  • Object.create(null)与let o = {}区别

    在阅读 vue 源码中 xff0c 会看到使用Object create null 来创建不带有属性的对象 为什么不使用let o 61 呢 xff1f 因为使用let o 61 xff0c 对象o还是继承Object xff0c 会继承O
  • javascript之字符串

    replace replace pattern replacement 字段说明pattern字符串或者具有Symbol replace方法的对象replacement可以是字符串或者函数 字符串时 xff0c 会替换pattern匹配的子
  • win10重装遇到的问题

    今天在重装win10系统时遇到几个问题 xff0c 折腾了一整天 win10计算机意外地重新启动或遇到错误 解决方法 1 在出现错误提示的界面中我们按 Shift 43 F10 打开命令提示符 2 在命令提示符中输入 cd oobe xff
  • Arduino IDE搭建ESP8266开发环境,开发包下载过慢解决方法

    Arduino IDE搭建ESP8266开发环境 xff0c 开发板管理器中下载过慢解决方法 方法一 xff1a 1 首选项 附加开发板管理器网址 xff1a http arduino esp8266 com stable package
  • CheckBox的使用(一):onCheckedChanged事件

    重写接口 public void onCheckedChanged CompoundButton buttonView boolean isChecked package com example androidtest import and
  • 指针与引用的关系

    c xff0b xff0b 中的引用与指针的区别 相同点 xff1a 1 都是地址的概念 xff1b 指针指向一块内存 xff0c 它的内容是所指内存的地址 xff1b 引用是某块内存的别名 区别 xff1a 1 指针是一个实体 xff0c
  • C&C++图形图像处理开源库

    Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序 这是一种基于网页的可控3D标准 此格式期望真正的基于浏览器 xff0c 独立于操作系统之外 xff0c 并且支持主流的3
  • protobuf的ParseFromArray 解析失败的问题

    前段时间 xff0c 在解析定义的Message时 xff0c 总是提示解析失败 xff0c 刚开始以为是消息号与消息没有对应上 xff0c 检查后发现消息号与消息是对应的 后来发现消息的一个字段定义为required 但是没有赋值 xff
  • Incorrect number of FETCH variables

    在写存储过程 xff0c 运行后提示 Incorrect number of FETCH variables 原来是用游标select的字段数需要与fetch into的变量数一致 修改后的如下 xff1a DROP PROCEDURE I
  • phpStorm 2016.1 最新版激活方法

    新版激活方法 1 在线激活 最新 http 123 206 193 241 1017 http www 0 php com 1017 xff08 可用 xff0c 更新于 20170621 xff09 http idea singee77
  • Android EditText最大字数限制并提示

    public class MaxTextLengthFilter implements InputFilter private int mMaxLength 构造方法中传入最多能输入的字数 public MaxTextLengthFilte