程序设计的很多地方都要用到一个小技术:指定文本框的输入类型。即限制只能输入某几类或某类字符,甚至是某几个字符。
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 Studio 在xml文件中设置界面布局1、xml文件中给输入框editText修改下划线颜色2、设置button按钮为圆角及修改按钮颜色3、运用约束布局时预览效果和运行效果不一致 写一写今天困扰我很久的问题:如何给...
CounterView一个简单的Android计数器视图,用于显示edittext字符计数。 它的行为与我们的BufferTextInputLayout相同,除了它不环绕EditText视图,使您可以将其放置在其他位置。CounterView一个简单的Android计数器...
MaskedEditText是一个简单的Android EditText,具有可自定义的输入掩码支持。 例如,您需要用户以+7(XXX)XXX-XX-XX格式指定他的电话。 您还知道用户应该只能输入数字,但负号,方括号和“ +7”应会自动出现。 ...
1、从Activity的TextView中获取字符串设置到AlertDialog的TextView和EditText中 2、将AlertDialog的EditText中的值设置到Activity的TextView中 新手在自定义AlertDialog上的疑问笔者猜测主要有两个: 1、自定义的...
如果你想要在一个TextView显示一个被高亮显示的子字符串。例如,我想让"123456789"中的"345"被高亮显示。注意,我这里指的只高亮一部分,而不是全部高亮。我不知道会不会有一些初学者会想到的是,让这些子字符串分部...
InputFilterEditTextDEmo 是自定义EditText,来对输入的空格,特殊字符,emoji进行过滤,还可以对输入的长度进行限制。
自定义的edittext,对其的输入数据进行限定,只能输入自己设定好的这些字符
当用户输入字符后 EditText会自动在输入框的内部右侧出现删除按钮 重写EditText达到简化布局的效果 效果图: 继承EditText package com.example.myedittexttest; import android.content.Context; import android....
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
需求 1、能自定义输入框个数...Edittext:监听edittext每次输入一个字符就赋值到对应的TextView上,然后在清空自己 下划线:在TextView下面添加View 光标:这里的每个TextView的焦点光标其实对View设置了ValueAnimator
输入1个字符就红一个圈圈,很简单的效果。 思路 1.自定义EditText。 2.背景为一个外圆环加内实心圆。 3.edittext的长度变化时候重新绘制背景或者红色环位置。 关键代码 代码其实也很简单,顺手拿资源的请到文末。 1....
//选项数组,通过重写onCreate方法,从XML文件读取下拉框内容到字符串数组中,为按钮添加监听器,并显示多选按钮对话框,同时自定义了一个处理程序,用于判断用户是否选择多选 框中的内容:Dialog dialog = null;...
自动编辑文本框(AutoCompleteTextView)继承自EditText,能够接受用户的输入编辑,但是有这自己的特色功能:输入一定的...android:completionThreshold 指定输入多少个字符以后会出现提示 android:dropDownHeight 指
EasyMoney-Widgets部件(EditText和TextView)用于支持货币要求...功能EasyMoneyEditText和EasyMoneyTextView小部件通过字符串符号,语言环境或Currency对象添加了自定义货币支持,添加了逗号格式支持,显示/隐藏了货币
1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 ...
(EditText)的功能和用法 60 2.3.2 按钮(Button)与图片按钮(ImageButton)组件的功能和 用法 66 2.3.3 使用9Patch图片作为按钮背景 68 2.3.4 单选按钮(RadioButton)和复选 框(CheckBox)介绍与...
1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 ...