`
GhostFromheaven
  • 浏览: 397068 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

自定义程序实现Android EditText只允许输入指定字符

阅读更多

程序设计的很多地方都要用到一个小技术:指定文本框的输入类型。即限制只能输入某几类或某类字符,甚至是某几个字符。
Android本身已经做了很多设计,如限制长度,限制只能输入整数或数字。
有时候这些还是不够的。我们可以在程序中根据需要自己定制。
主要涉及:EditText.addTextChangedListener,EditText.removeTextChangedListener,EditText.setFilters。

方法:
对EditText添加自定义的TextChange监听。在改监听中检测输入字符是否合法。

关键代码如下:

   @Override

  public void afterTextChanged(Editable s) {

   String str = s.toString();

   if (str.equals(tmp)) {

    return;// 如果tmp==str则返回,因为这是我们设置的结果。否则会形成死循环。

   }

   StringBuffer sb = new StringBuffer();

   for (int i = 0; i < str.length(); i++) {

    if (digits.indexOf(str.charAt(i)) >= 0) {// 判断字符是否在可以输入的字符串中

     sb.append(str.charAt(i));// 如果是,就添加到结果里,否则跳过

    }

   }

   tmp = sb.toString();// 设置tmp,因为下面一句还会导致该事件被触发

   editText.setText(tmp);// 设置结果

   editText.invalidate();

  }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 93.9 KB
  • 大小: 105.9 KB
  • 大小: 110.9 KB
分享到:
评论

相关推荐

    Android开发之EditText字符串过滤器InputFilter

    总之,Android的EditText字符串过滤器InputFilter是一个强大的工具,它允许开发者定制输入行为,提高应用的数据验证和用户体验。理解并熟练掌握InputFilter的使用,对于Android开发者来说是非常重要的技能之一。

    Android EditText 正则表达式 限制数字、字母、字符 输入 密码框

    @#$%^&*()]`模式的字符,只允许用户输入小写字母、数字和指定的特殊字符。 3. **密码框设置**: - 对于密码框,通常需要隐藏输入的内容,可以通过`android:inputType="textPassword"`属性实现。 - 若要限制密码...

    android EditText 限制最大输入字符,是字符不是长度哦

    有时候,我们可能需要对用户输入的字符数量进行限制,比如信用卡号、密码输入等场景,这时就需要设置`EditText`的最大输入字符数。不同于字节长度或字节数,这里的“字符”通常指的是用户肉眼可见的字符,包括英文、...

    Android自定义EditText,实现分割输入内容效果

    本篇将详细讲解如何在Android中自定义EditText,实现分割输入内容的效果。 首先,理解这个效果:通常,EditText会连续显示用户输入的文本,而“分割输入内容”的效果可能是指在用户输入特定字符后自动添加分隔符,...

    android EditText在输入的时候输入框上方现悬浮文字提示

    `Android EditText`在输入时显示悬浮文字提示,主要是通过自定义`EditText`视图或利用第三方库来实现的。下面将详细介绍这一功能的实现方法。 首先,`Android`原生的`EditText`虽然提供了`hint`属性,用于设置...

    自定义Android Dialog EditText 密码输入框

    在Android开发中,自定义Dialog是一项常见的需求,它允许开发者根据应用的UI风格和功能需求进行个性化设计。本文将深入探讨如何自定义一个Android Dialog,特别是实现一个类似于支付密码输入框的功能,其中EditText...

    android EditText禁止输入法表情

    这样,当用户尝试输入表情时,`InputFilter`会拦截这些字符,确保`EditText`中只显示文字。 当然,这个方法可能无法覆盖所有表情,因为表情的Unicode范围在不断扩展。为了解决这个问题,你可以使用第三方库,如`...

    android EditText 限制输入的4种方法【修正版】

    在Android开发中,EditText是用户输入文本的基本组件,它允许用户在界面上输入、编辑文本。有时,我们可能需要对EditText的输入进行限制,比如限制输入的字符长度、类型、格式等,以满足特定的应用场景需求。在...

    edittext自定义密码输入框

    综上所述,通过创建自定义的Edittext并监听文本变化,我们可以实现一个下划线类型的密码输入框,支持连续输入和删除,同时确保焦点在输入时后移,删除时前移。这种自定义的密码输入框在Android应用程序中非常实用,...

    Android的edittext在弹出框中实现输入自动千分位分隔和金额限制

    这个自定义控件"Android的edittext在弹出框中实现输入自动千分位分隔和金额限制"就解决了这样的问题。 首先,我们需要理解的是`EditText`的基本用法。`EditText`是继承自`TextView`的,它添加了文本编辑功能。我们...

    android edittext 自定义按键盘

    本篇文章将深入探讨如何在Android中自定义EditText并实现不弹出系统键盘的功能。 首先,我们要明白自定义键盘的核心在于创建一个新的View类,这个类将包含我们需要的所有按键,并且处理按键的点击事件。我们可以...

    Android-栗子——自定义EditText实现右下角计数控件

    本篇将详细讲解如何自定义一个EditText,实现一个计数控件,该控件会实时更新用户输入的字符数,并显示在EditText的右下角。 首先,我们需要创建一个新的自定义View类,继承自EditText。这个自定义View将包含一个...

    android EditText 限制输入的4种方法

    在Android开发中,EditText是用户交互的一个重要组件,它允许用户输入文本。有时,为了确保应用的用户体验和数据完整性,我们需要对EditText的输入内容进行限制。以下是对标题和描述中提到的四种限制EditText输入...

    自定义EditText实现登录用户名和密码输入

    自定义View是Android开发中的常见操作,它允许开发者根据需求定制组件的行为和外观。对于EditText,我们可能需要修改默认的光标颜色、输入提示文字样式,甚至添加特定的交互效果。自定义过程通常涉及创建一个新的...

    android 输入框EditText禁止输入Emoji表情符

    在Android开发中,EditText是用户输入文本的常见组件,但有时我们不希望用户在输入框中输入 Emoji 表情符号。这是因为Emoji可能会引起数据处理问题,例如数据库存储、后端接口解析等。本文将详细讲解如何在Android中...

    Android EditText 禁止emoj表情输入

    总的来说,禁止`EditText`输入emoji表情涉及到对输入字符的检测和过滤,可以通过自定义`InputFilter`或`TextWatcher`来实现。这需要对Unicode字符和Android的输入机制有一定的理解,同时也需要处理各种边缘情况,以...

    EditText限制输入字符数

    本文将详细介绍如何在Android中实现`EditText`限制输入字符数的功能,并提供相应的代码示例。 首先,我们需要了解`EditText`的基本属性。`android:maxLength` 是一个内置的属性,可以用来设置`EditText`的最大字符...

    android edittext表情过滤

    综上所述,"android edittext表情过滤"涉及字符编码、EditText的自定义过滤、正则表达式、性能优化以及兼容性处理等多个方面,开发者需要具备扎实的Android基础知识才能成功实现这一功能。在实际项目中,可以根据...

    Android 强行夺取EditText系统键盘输入改为自定义安全键盘输入

    综上所述,"Android 强行夺取EditText系统键盘输入改为自定义安全键盘输入"是一个涉及多方面技术的过程,包括对EditText的控制、自定义键盘的布局设计、键盘逻辑实现以及适配和安全处理。通过这些步骤,开发者可以为...

Global site tag (gtag.js) - Google Analytics