热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

代码设置EditText只输入数字、字母

代码设置EditText只输入数字、字母如何设置EditText,使得只能输入数字或者某些字母呢?一、设置EditText,只输入数字:方法1:直接生成DigitsKeyListen

代码设置EditText只输入数字、字母  


如何设置EditText,使得只能输入数字或者某些字母呢?

一、设置EditText,只输入数字:

       方法1:直接生成DigitsKeyListener对象就可以了。

et_1.setKeyListener(new DigitsKeyListener(false,true));

       方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下 

android:singleLine="true"

android:numeric="integer"

/>

       方法3:新建一个char[],在里面添加允许输入的字符。如下

editText.setKeyListener(new NumberKeyListener(){

      protected char[] getAcceptedChars()

{

 char[] numberChars[]={'1','2','3','4','5','6','7','8','9','0',};

return numberChars;

}

});

二、设置EditText只能输入某些字母,如下面设置edtitext只能输入A—N,a—n这些字母。方法如下:


 
 

editText.setKeyListener(new NumberKeyListener(){

      protected char[] getAcceptedChars()

{

 char[] numberChars[]={'a,'b','c','d','e','f','A','B','C','D'};

return numberChars;

}

});


 
EditText et;  
et = (EditText) findViewById(R.id.et);  
// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListener   
DigitsKeyListener numericOnlyListener = new DigitsKeyListener(false,true);  
et.setKeyListener(numericOnlyListener);  
// 方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法   
et.setKeyListener(new NumberKeyListener() {  
    @Override  
    protected char[] getAcceptedChars() {  
        return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9', '0' };  
    }  
    @Override  
    public int getInputType() {  
        // TODO Auto-generated method stub   
        return android.text.InputType.TYPE_CLASS_PHONE;  
    }  
});  

--------------------------------------------------------------------------------------------

01.EditText et; 
02.et = (EditText) findViewById(R.id.et); 
03.// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListener  
04.DigitsKeyListener numericOnlyListener= new DigitsKeyListener(false,true); 
05.et.setKeyListener(numericOnlyListener); 
06.// 方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法  
07.et.setKeyListener(new NumberKeyListener() { 
08.    @Override 
09.    protected char[] getAcceptedChars() { 
10.        return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9', '0' }; 
11.    } 
12.    @Override 
13.    public int getInputType() { 
14.        // TODO Auto-generated method stub  
15.        return android.text.InputType.TYPE_CLASS_PHONE; 
16.    } 
17.}); 


小结:

第一种可以输入小数。

第二种由于设置了TYPE_CLASS_PHONE所以只能输入整数。且比较灵活。


============================================

很多网友可能在开发Android时发现EditText有时候需要限制用户输入的内容,通常我们可以使用正则表达式直接限制,但是Android 已经为我们准备好了EditText的输入类型,这样的比正则要有以下几点优势:

  1. 开发更简单,执行速度高效。 2. 输入法默认会根据情况变动,比如说设置为numeric后输入法会自动仅显示数字,不会出现Qwerty中的字母。

  下面我们通过EditText的layout xml文件中的相关属性来实现:

  1. 密码框属性 android:password="true"  这条可以让EditText显示的内容自动为 星号,输入时内容会在1秒内变成*字样。

  2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入

  3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证

  下面是一些扩展的风格属性

  android:editable="false" 设置EditText不可编辑

  android:singleLine="true" 强制输入的内容在单行

  android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时。



推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
author-avatar
举报处冫__理大厅_283
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有