动态限制EdiText仅仅能输入特定字符
怎样设置EditText,使得仅仅能输入数字或者某些字母呢?
一、设置EditText,仅仅输入数字:
方法1:直接生成DigitsKeyListener对象就能够了。
et_1.setKeyListener(new DigisKeyListener(false,true));
方法2:在EditText中设置属性,android:numeric="integer"即仅仅能输入整数,例如以下
<EditText
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;
}
});
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;
}
});
--------------------------------------------------------------------------------------------
第一种能够输入小数。
另外一种因为设置了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,一般用于password验证
以下是一些扩展的风格属性
android:editable="false" 设置EditText不可编辑
android:singleLine="true" 强制输入的内容在单行
android:ellipsize="end" 自己主动隐藏尾部溢出数据,一般用于文字内容过长一行无法所有显示时。
动态限制EdiText仅仅能输入特定字符的更多相关文章
- 正则表达式——WPF输入控件TextBox 限定输入特定字符
		概念: 正则表达式是对字符串操作的一种逻辑公式, 就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”, 这个“规则字符串”用来表达对字符串的一种过滤逻辑. 目的: 给定一个正 ... 
- iOS UItextView监听输入特定字符跳转页面选择选项返回
		今天有朋友问我一个需求的实现,于是自己写了一个Demo简单的实现了一下: 需求是: 1>比如: 检测用户输入"A"字符串,跳转页面选择选项,将选择的选项放置textView里 ... 
- HTML 限制文本框只能输入特定字符(比如数字 onkeyup+onafterpaste)
		正则表达式1 <td><asp:TextBox ID="TextBox_username" Width="250" runat="s ... 
- js限制文本框只能输入特定字符
		限制只能输入数字 // ---------------------------------------------------------------------- // <summary> ... 
- SQL:将字符串以特定字符分割并返回Table
		split 语法 ALTER FUNCTION [dbo].[F_SPLIT] ( @str VARCHAR(MAX) , ) ) /********************************* ... 
- 对于限制UITextView输入的字符数
		对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UITextViewDelegate 摘自:方法 - (void)viewDidLoad { self.titleText = ... 
- 题目1049:字符串去特定字符——九度OJ
		题目1049:字符串去特定字符 http://ac.jobdu.com/problem.php?pid=1049 时间限制:1 秒 内存限制:32 兆 题目描述: 输入字符串s和字符c,要求去掉s中所 ... 
- 九度OJ1049题-去特定字符(和1111题特别像)
		题目1049:字符串去特定字符 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:11329 解决:5169 题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: ... 
- scanf的拓展用法——匹配特定字符
		scanf的基本用法除了常规的输入操作外还有一些特殊的用法,使用这些用法可以很方便的在输入中读取想要的数据 1.限制输入数据的长度 这个应该算不上拓展用法,大多数读者应该都曾经使用过,这里简单提一下 ... 
随机推荐
- 洛谷P1231 教辅的组成  网络流
			Code: #include<cstdio> #include<cstring> #include<algorithm> #include<vector> ... 
- 设置div内的内容不能被选中
			通过简单的css设置页面的文字无法被选定. <div class="select">我不能被选中复制</div> .select{ -webkit-user ... 
- vi 学习记录
			i 光标所在前插入 I 光标所在行的第一个非空字符前进入输入模式 a 光标所在后插入 A 光标所在最后插入 o 光标所在列下新增一列并进入输入模式 O 光标所在列上新增一列并进入输入模式 退出 :q, ... 
- root用户无法切换到cdh的hive账号上
			在/etc/passwd中看到hive账号是登录的终端是/bin/false,而正常的用户配置的都是/bin/bash,因此在root账号su到hive也是没有用的 hive:x:111:111:Hi ... 
- java里的一些特别值得注意的地方
			return 语句的作用:1.返回值 2.结束某个方法的执行. 局部变量必需要初始化,全局变量系统会默认初始值: 整型数赋默认值为0. 浮点数赋默认值为0.0,boolean赋默认值为false. c ... 
- [MST] Attach Behavior to mobx-state-tree Models Using Actions
			Models are not just a nifty feature for type checking. They enable you to attach behavior to your ac ... 
- POJ 2739 Sum of Consecutive Prime Numbers(素数)
			POJ 2739 Sum of Consecutive Prime Numbers(素数) http://poj.org/problem? id=2739 题意: 给你一个10000以内的自然数X.然 ... 
- IOS开发的哪些异常之异常断点
			从Android开发的异常报错到IOS的异常闪退,经历了不一样的处理过程.对于IOS的异常报错刚開始总是非常茫然,永远仅仅告诉你有异常.然后就跳到main.m文件,却不曾我告诉她在那出现.真是吊人胃口 ... 
- 适配 iOS 8 时遇到的问题两则:远程推送和 Unwind Segue
			原文:http://imtx.me/archives/1910.html 昨天我在微博上吐槽:iOS 8 / Xcode 6 真是史上对开发人员最糟糕的版本号了.收到非常多朋友表达同感. 之所以这么说 ... 
- 深入理解cookie与session
			cookie和session是web开发比較基础也比較重要的知识,cookie和session用于用户的状态管理.简单的来说它们都仅仅是http中的一个配置项,在Servlet规范中也仅仅相应一个类而 ... 
