EditView 输入限制(软键盘限制)
众所周知EditView有个inputType 属性可以设置输入的类型。
android:inputType="number"
第一种:digits 属性
<EditText
android:id="@+id/etDigits"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="012345"
android:hint="通过digits设置"
android:inputType="number"
android:maxLength="11" />
第二种:TextWatcher设置
EditText etTextWatcher = (EditText) findViewById(R.id.etTextWatcher);
etTextWatcher.addTextChangedListener(new EditTextWatcher(etTextWatcher));
/**
* Created by xugang on 2016/6/23.
* 输入监听
*/
public class EditTextWatcher implements TextWatcher {
private EditText editText;
public EditTextWatcher(EditText editText) {
this.editText = editText;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s != null && s.length() > start) {
//输入判断规则
if (!RegularUtils.compare(s.toString().trim(), RegularUtils.LIMIT_PHONE_INPUT)) {
editText.setText(s.subSequence(0, s.length() - 1));
editText.setSelection(s.length() - 1);
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
}
第三种:设置Filters,通过正则进行限制
public static final String LIMIT_PHONE_INPUT = "^1\\d{0,10}$";//限制只允许输入首位为1的最多11位的数字
EditView etInputFilter = (EditView)findViewById(R.id.etInputFilter);
etInputFilter.setFilters(new EditInputFilter(LIMIT_PHONE_INPUT));
/**
* Created by xugang on 2016/6/22.
* EditView过滤器
*/
public class EditInputFilter implements InputFilter {
//
private String regular;
public EditInputFilter(String regular) {
this.regular = regular;
}
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (regular == null)
return source;
if (dstart == 0 && dend == 0 && TextUtils.isEmpty(source))
return null;
if (dstart == dend) {
//输入
StringBuilder builder = new StringBuilder(dest);
if (builder.append(source).toString().matches(regular)) return source;
else return "";
}
return source;
}
}
EditView 输入限制(软键盘限制)的更多相关文章
- input输入时软键盘回车显示搜索
很多时候我们会看到输入法里面回车是搜索等字眼,今天我们就来实现这个效果 原本的效果: <form action=""> <input type="sea ...
- 与众不同 windows phone (24) - Input(输入)之软键盘类型, XNA 方式启动软键盘, UIElement 的 Touch 相关事件, 触摸涂鸦
原文:与众不同 windows phone (24) - Input(输入)之软键盘类型, XNA 方式启动软键盘, UIElement 的 Touch 相关事件, 触摸涂鸦 [索引页][源码下载] ...
- Android - 隐藏EditText弹出的软键盘输入(SoftInput)
隐藏EditText弹出的软键盘输入(SoftInput) 本文地址: http://blog.csdn.net/caroline_wendy 保持界面的整洁, 能够选择在进入界面时, 隐藏EditT ...
- 关于ios8模拟器不能输入中文问题以及软键盘不弹出问题
在Xcode菜单栏中 Product->scheme->Edit Scheme->Options->Application Region改为中国,就可以输入中文了, 如果软 ...
- qt软键盘输入
characterapplicationsignalqt输入法object 1.从QInputContext派生自己的InputContext类 ,例如: class MyInputPanelCo ...
- Android输入控件EditText和软键盘监听
1. 跳转到新的页面自动软键盘显示情况: 在配置清单文件AndroidManifest.xml文件,对Activity的windowSoftInputMode属性进行设置. stateUnspecif ...
- Android EditView 阻止软键盘自动弹出
最近再做一个查询内的小应用,界面最上面是一个EditText查询框,进行Activity后,总会弹起软键盘.这样就挡住了查询框下面的其他查询条件 控件,感觉很不友好.所以现在要做的就是在进入Activ ...
- Android软键盘调用及隐藏,以及获得点击软键盘输入的字母信息
在Android提供的EditText中单击的时候,会自动的弹出软键盘,其实对于软键盘的控制我们可以通过InputMethodManager这个类来实现.我们需要控制软键盘的方式就是两种一个是像Edi ...
- 【Swift】- UITextField完成输入后关闭软键盘的几种方法
总结了以下几种方式,欢迎补充 1,为空白区域绑定Touch Up Inside事件 2,重写touchesEnded方法 3,为TextField绑定Did End On Exit事件 1,点击 ...
- JS自动让手机调出软键盘,进行输入
$('.search').click(function(){ $('input[type=text]').focus(); //让input框自动聚焦就可以让手机自动调出软键盘 });
随机推荐
- DOM(文档对象模型)
1.定义: DOM是Document Object Model文档对象模型的缩写.是针对HTML和XML文档的一个API,通过DOM可以去改变文档. 例如:我们有一段HTML,那么如何访问第二层第一个 ...
- c# .Net并行和多线程编程之Task学习记录!
任务Task和线程Thread的区别: 1.任务是架构在线程之上的,也就是说任务最终还是要抛给线程去执行. 2.任务跟线程不是一对一的关系,比如开10个任务并不是说会开10个线程,这一点任务有点类似线 ...
- vue.js开发环境搭建
1.安装node.js(http://www.runoob.com/nodejs/nodejs-install-setup.html) 2.基于node.js,利用淘宝npm镜像安装相关依赖 在cmd ...
- SecureCRT上传和下载文件
SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...
- C#可用的日出日落时间类
一个现成代码的公共类库,复制下来作为一个类文件就可以调用了.一般不需要了解实现过程,各种数学公式太麻烦. 调用方法: SunTimeResult result = SunTimes.GetSunTim ...
- 仿浏览器TAB效果
仿浏览器的Tag标签 这里先上个非常非常简陋的demo,没加CSS,我先把jquery的源码给全部搞通,在专心把这个功能给讲一下 <!doctype html> <html lang ...
- svn强制加注释才能提交
进入库的hooks目录下 cp pre-commit.tmpl pre-commit 并对pre-commit加入运行权限 修改pre-commit内容如下 REPOS="$1" ...
- [译]你应该知道的4种JavaScript设计模式
这里介绍下面这4种设计模式 Module Prototype Observer Singleton 每种模式有许多属性构成,在这我只强调一下几点: 1 Context: 在何种情况使用哪种模式? 2 ...
- 图解TCP/IP→第2章基础知识
####TCP.IP背景**关键词:ARPANET,UNIX,分组交换技术,*ARPANET(阿帕网),也是全球互联网的鼻祖.阿帕网的成功也充分证明了基于分组交换技术的通信方法的可行性.*20世纪70 ...
- [Storm] No data flows into bolt
最近在HDP2.1的HBase环境中安装了一个Storm测试机器(单节点,JDK8),遇到了几个问题,记录下来. 尝试步骤 1. 使用和HBase一样HDP版本,直接安装Storm yum insta ...