android Edittext自定义输入字符和类型
android提供了两种方式
一种是setInputType
一种是setKeyListener
直接上代码,有注释
import android.app.Activity;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.method.NumberKeyListener;
import android.widget.EditText; /**
* @author xirtam
* @qq 751348449
*/
public class MainActivity extends Activity { private EditText et; public static final int TYPE_1 = -1;// 为了避免和android自带的冲突使用-1
public static final String TYPE_1_String = "1234567890Xx";// 限制只能输入此字符串中的字符 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText) findViewById(R.id.et); // et.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL|
// InputType.TYPE_CLASS_NUMBER);//浮点数 // et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);//邮箱 // et.setInputType(InputType.TYPE_CLASS_PHONE);//电话号 // 一下两行就实现了限制输入身份证号
this.setMaxLength(18);
et.setKeyListener(new myInputListener(TYPE_1, TYPE_1_String));
} /**
* 自定义输入监听器
*
* @author xirtam
*/
private class myInputListener extends NumberKeyListener { private int type;
private String chars; public myInputListener(int type, String chars) {
this.type = type;
this.chars = chars;
} @Override
public int getInputType() {
return type;
} @Override
protected char[] getAcceptedChars() {
return chars.toCharArray();
} } /**
* 设置可输入最大长度
*
* @param len
* 长度
*/
public void setMaxLength(int len) {
et.setFilters(new InputFilter[] { new InputFilter.LengthFilter(len) });
} }
布局文件里只有一个Edittext ,id为et,就不上传了。
注意setInputType和setKeyListener可以叠加使用。
android Edittext自定义输入字符和类型的更多相关文章
- (转)Android EditText限制输入字符的5种实现方式
最近项目要求限制密码输入的字符类型, 例如不能输入中文. 现在总结一下EditText的各种实现方式, 以比较各种方法的优劣. 第一种方式: 设置EditText的inputType属性,可以 ...
- Android EditText 限制输入字符
今天为简单的登录界面的输入框(用户名.密码框,验证码),均为EditText框,做输入限制,不能有空格,不能有一些特殊字符,不多说,直接上代码: /** * 禁止EditText输入空格 * * @p ...
- Android EditText 限制输入为ip类型
editText.setInputType(InputType.TYPE_CLASS_NUMBER); String digits = "0123456789."; editTex ...
- EditText限制输入字符类型的几种方式
最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我 ...
- 【转】android 中如何限制 EditText 最大输入字符数
原文网址:http://blog.csdn.net/fulinwsuafcie/article/details/7437768 方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:andr ...
- android 中如何限制 EditText 最大输入字符数
方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilt ...
- Java初学者作业——编写Java程序,实现判断所输入字符的类型(数字、小写字母、大写字母或其他字符)
返回本章节 返回作业目录 需求说明: 编写Java程序,实现判断所输入字符的类型(数字.小写字母.大写字母或其他字符) 实现思路: 声明变量c,用于存储用户输入的字符. 通过Scanner接收用户输入 ...
- Android EditText的输入监听,输入字符的动态获取
http://itindex.net/detail/38974-android-edittext-%E7%9B%91%E5%90%AC 有时候我们可能会用到时时的监听EditText输入字符的时时监听 ...
- Android EditText自定义样式
第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这 ...
随机推荐
- Piggy-Bank[HDU1114]
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 【wikioi】1010 过河卒
题目链接 算法:DFS+剪枝 14.01.02 PS: 递推应该也可以的,改天看看 刚开始最容易想到的是朴素搜索 #include <iostream> using namespace s ...
- ubuntu apt源
deb http://archive.ubuntu.com/ubuntu/ vivid main restricted universe multiversedeb http://archive.ub ...
- Ajax注册验证用户名是否存在 ——引自百度经验
Ajax注册验证用户名是否存在 http://jingyan.baidu.com/article/a948d6515fdf870a2dcd2e85.html
- Java实现FTP文件上传与下载
实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方式 package com.cl ...
- [zt]给你的Mp4大换血,精选Touch里3年收集的900多首歌,"经典不忍去的""最新近流行的",与你共享~~
如果你是音乐爱好者: 这些歌, 请戴上耳机, 调大音量, 一个人听 ,全世界 都是你的!!!!! (一)这些歌很温暖,没有金属味,适合有阳光的午后,很悠闲... [Anaesthesia]Maximi ...
- 转:值得推荐的C/C++框架和库(真的很强大)
目录(?)[+] 值得学习的C语言开源项目 - 1 Webbench - 2 Tinyhttpd - 3 cJSON - 4 CMockery - 5 Libev - 6 Memcached - 7 ...
- Hbuild - 使用海马玩模拟器调试
http://ask.dcloud.net.cn/question/13605 通过海马玩CMD(Droid4X_Settings_Tools_v1.1.5.bat) 设置模拟器的端口 269 ...
- myeclipse10 .jsp将表单提交给.java(form网页与后台通信初识)
做毕设需要用到form通信. 以下几张截图来自极课学院 servlet jsp文件 web配置 出现错误: 路径问题 仍然不对,需要再改 <form action="servlet/S ...
- java中实现链表(转)
分析: 上述节点具备如下特征: 1. 每个节点由两部分组成(存储信息的字段,存储指向下一个节点的指针) 2. 节点之间有着严格的先后顺序. 3. 单链表节点是一种非线性的结构,在内存中不连续分配空间. ...