android控件之EditText输入框之值监控以及类型限制(数字,英语字母,下划线,是否为星号密码)

本文介绍了如何通过EditText属性设置和TextWatcher监听实现对用户输入的限制,包括设置密码输入、限制输入类型(数字、字母)、过滤非法字符,以及确保输入为两位小数等。同时讲解了EditText的各种属性,如`android:inputType`、`android:digits`等,以及TextView的相关属性,帮助开发者更好地控制文本输入和显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.设置EditText的值监听事件 。


		
		EditText ed=new EditText(this);
		ed.setText("EditText之Test");
		ed.addTextChangedListener(new TextWatcher() {
			
			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				// TODO Auto-generated method stub
				//实时监控值 ,下面两个方法没什么用
			}
			
			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void afterTextChanged(Editable s) {
				// TODO Auto-generated method stub
				
			}
		});
		

2.设置为星号密码

添加属性

 android:inputType="textPassword"

设置只能一行

android:singleLine="true"


3..设置EditText只能输入数字或者某些字母


1.在xml:EditText 设置属性----
android:digis="ABCDE555555&&&&&"
ABCDE555555&&&&&"是你的限制规则。
例如:android:digits="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
规则是只能输入英文字母(小写)和数字

2.EditText,TextView只能输入字母加数字,可在View空间后面加上监听器,如下

tvPassword.addTextChangedListener(new TextWatcher() {

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count,

int after) {

}

@Override

public void afterTextChanged(Editable edt) {

try {

 String temp = edt.toString();

        String tem = temp.substring(temp.length()-1, temp.length());

char[] temC = tem.toCharArray();

int mid = temC[0];

if(mid>=48&&mid<=57){//数字

return;

}

if(mid>=65&&mid<=90){//大写字母

return;

}

if(mid>97&&mid<=122){//小写字母

return;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值