编辑文本最大长度并在 texview 中显示长度

2023-11-24

我有一个编辑文本和一个文本视图,我想在编辑文本中设置最大长度,它显示在我的文本视图中,每次用户输入字符时,它都会减去字符数。例如,我将编辑文本的最大长度设置为 150,如果用户输入 150 个字符,他/她就无法再输入了。

如何解决这个问题?


设置 EditText 的最大长度 (选择其中之一):

  1. 在您的 XML 文件中(推荐),使用属性android:maxLength="150" Ex:

    <EditText
        android:id="@+id/yourEditTextId"
        ...
        android:maxLength="150" />     
    
  2. 以编程方式(在您的onCreate方法),像这样:

    EditText et = (EditText)findViewById(R.id.yourEditTextId);
    et.setFilters(new InputFilter[] { 
        new InputFilter.LengthFilter(150) // 150 is max length
    });
    

要保留 EditText 中剩余长度的计数器:

将此侦听器添加到您的onCreate方法(或任何地方,但它是有意义的onCreate):

final EditText et = (EditText)findViewById(R.id.yourEditTextId);
et.addTextChangedListener(new TextWatcher() {
    @Override
    public void afterTextChanged(Editable s) {
        TextView tv = (TextView)findViewById(R.id.yourTextViewId);
        tv.setText(String.valueOf(150 - et.length()));
    }

    @Override
    public void onTextChanged(CharSequence s, int st, int b, int c) 
    { }
    @Override
    public void beforeTextChanged(CharSequence s, int st, int c, int a) 
    { }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编辑文本最大长度并在 texview 中显示长度 的相关文章

随机推荐

  • 对象数组中的indexOf方法?

    如何简单直接地找到满足某些条件的对象数组中的索引 例如 给定以下输入 var hello hello world foo bar var qaz hello stevie foo baz var myArray myArray push h
  • 手动创建委托与使用 Action/Func 委托

    今天我想宣布这一点 private delegate double ChangeListAction string param1 int number 但为什么不使用这个 private Func
  • 如何在 Objective C 中使用 XML 解析发布带有特殊字符和泰语的字符串?

    我是 iOS 新手 我面临着有关包含特殊字符的帖子字符串的问题 我的代码在 DidFinishLoading 中是这样的 NSXMLParser myNSXMLParserPostObj NSXMLParser alloc initWith
  • 如何让lucene不区分大小写

    默认情况下 单词 Word 和 word 不同 如何让 Lucene 不区分大小写 最简单的方法是将所有可搜索内容以及查询均小写 请参阅LowerCaseFilter文档 你也可以使用Wildcard查询不区分大小写的搜索 因为它绕过了An
  • 如何保留git中的文件权限?

    我遇到了一个问题 我花了很长时间才找到解决方案 但仍然没有得到解决 当我尝试通过 git 将我的网站部署到 Django 托管时 我遇到的问题是 数据库错误 尝试写入只读数据库 看来 git 会改变我的文件的权限 从 777 到 755 但
  • Dart 中的 GestureDetector 与 google_maps_flutter

    我在用着谷歌地图颤振并希望当用户在地图上执行手势时执行操作 无论是缩放 倾斜 移动 旋转 但是我无法使用相机移动开始时财产在谷歌地图类因为它还可以识别引起的非手势用户操作以及编程动画 我的应用程序使用的 但无法 据我所知 请纠正我 来区分它
  • 如何在 XAML 中使用 C# 自定义子类?

    这是我的问题 我想在 MyWindow 中使用 SurfaceInkCanvas 的子类 我创建了一个这样的 C 类 namespace MyNamespace public class SubSurfaceInkCanvas Surfac
  • 在 10.9 上以编程方式启用对辅助设备的访问

    我想在 10 9 上以编程方式启用对辅助设备的访问 在 10 8 及更低版本中 我使用以下 Applescript 来启用对辅助设备的访问 tell application System Events if UI elements enab
  • 是否可以更改扩展WPF工具包的Busyindicator中的忙碌动画?

    是否可以更改扩展WPF工具包的Busyindicator中的忙碌动画 特别是 我想将其更改为 gif 动画 是的当然 您可以定义自己的自定义内容 文档 繁忙指示器自定义内容示例
  • 具有相同名称的控制器的 asp.net Web api 路由

    我正在将我的项目与另一个项目集成 Multiple types were found that match the controller named XXXXX This can happen if the route that servi
  • persp3d 图的格式

    我有以下 3d 图 With my data我用以下代码创建了它 library rugarch library rgl library fGarch fd lt as data frame modelfit which density c
  • 适用于 Firefox 的 WebDriver:浏览器启动时为空页面,挂起 2 分钟,重新启动,然后测试运行。为什么?

    我正在尝试更新我的 Java 测试套件以使用 Selenium 3 和 geckodriver 但是 我在执行测试命令时看到了这种非常奇怪的行为 Firefox 将打开一个空白页面 这样保持大约2分钟 它关闭然后立即重新启动 测试运行并通过
  • 我可以打开一个套接字并将其传递给 Linux 中的另一个进程吗

    在Linux中 我是否可以打开一个套接字并将该套接字传递给另一个进程 如果是 您能告诉我在哪里可以找到示例吗 谢谢 是的 你可以 使用sendmsg 使用 SCM RIGHTS 从一个进程到另一个进程 SCM RIGHTS 发送或接收一组
  • 在 ActionBarSherlock 中使用自定义布局构建 ActionMode

    我刚刚开始使用 ActionBarSherlock 来构建一些简单的应用程序 在我的第一个屏幕中 我有简单的列表 并添加了新的菜单项以将新项目添加到列表中 MenuItem newItem menu add New newItem setI
  • Entity Framework 4.1 - 刷新不是 Context 的成员

    我正在尝试使用 Context Refresh 方法恢复 Context 更改 但 Refresh 似乎不是 Context 的成员 我正在使用 Microsoft ADO NET Entity Framework 4 1 RC 版本 任何
  • C# CPU 和 GPU 温度

    我正在为系统性能创建个人监控程序 但在弄清楚 C 如何检索 CPU 和 GPU 温度信息时遇到问题 我已经让程序通过 PerformanceCounter 检索 CPU 负载和频率信息 以及各种其他信息 但我无法找到 CPU 温度的实例 对
  • python中urllib的响应时间

    我想在使用时获得响应时间urllib 我做了下面的代码 但它超过了响应时间 我可以利用时间吗urllib或者有其他方法吗 import urllib import datetime def main urllist http google
  • java中如何调用抽象类方法

    我想在我自己的类中调用抽象类的方法 抽象类是 public abstract class Call public Connection getEarliestConnection Connection earliest null retur
  • 在 Go 包中哪里放​​置测试的共享代码? [复制]

    这个问题在这里已经有答案了 我有一个包含多个文件的 Go 包 按照 Go 标准 我正在为包中的每个源文件创建一个关联的测试文件 就我而言 不同的测试使用相同的测试帮助功能 我不希望这些函数出现在包源文件中 因为它仅用于测试目的 我还想避免在
  • 编辑文本最大长度并在 texview 中显示长度

    我有一个编辑文本和一个文本视图 我想在编辑文本中设置最大长度 它显示在我的文本视图中 每次用户输入字符时 它都会减去字符数 例如 我将编辑文本的最大长度设置为 150 如果用户输入 150 个字符 他 她就无法再输入了 如何解决这个问题 设