EditText实现输入限制和校验

EditText实现输入限制和校验

一、方法

1)输入限制

1、通过android:digits限制只能输入小写abc

android:digits="abc"

2、通过android:inputType限制只能输入数字

android:inputType="number"

在android:inputType中可以设置各种限制,比如邮箱地址等等

2)校验

直接通过代码实现

String s=et_verify_empty.getText().toString();
if(s==null||s.length()==0){
  et_verify_empty.setError("不能为空");
}

二、代码实例

效果图

代码

fry.ActivityDemo2

 1 package fry;
 2
 3
 4 import com.example.editTextDemo1.R;
 5
 6 import android.app.Activity;
 7 import android.graphics.BitmapFactory;
 8 import android.os.Bundle;
 9 import android.text.Spannable;
10 import android.text.SpannableString;
11 import android.text.TextUtils;
12 import android.text.style.ImageSpan;
13 import android.view.View;
14 import android.view.View.OnClickListener;
15 import android.widget.Button;
16 import android.widget.EditText;
17
18 public class ActivityDemo2 extends Activity implements OnClickListener{
19     private EditText et_verify_empty;
20     private Button btn_verify;
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         // TODO Auto-generated method stub
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.activity02);
26         setTitle("EditText实现输入限制和校验");
27         et_verify_empty=(EditText) findViewById(R.id.et_verify_empty);
28         btn_verify=(Button) findViewById(R.id.btn_verify);
29         btn_verify.setOnClickListener(this);
30     }
31     @Override
32     public void onClick(View arg0) {
33         // TODO Auto-generated method stub
34         String s=et_verify_empty.getText().toString();
35         //if(s==null||s.length()==0){
36         if(TextUtils.isEmpty(s)){
37             et_verify_empty.setError("不能为空");
38         }
39     }
40 }

/editTextDemo1/res/layout/activity02.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6
 7
 8     <TextView
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:text="通过android:digits限制只能输入小写abc"
12         />
13     <EditText
14         android:id="@+id/et_limit_abc"
15         android:layout_width="match_parent"
16         android:layout_height="wrap_content"
17         android:digits="abc"
18         />
19
20      <TextView
21         android:layout_width="match_parent"
22         android:layout_height="wrap_content"
23         android:text="通过android:inputType限制只能输入数字"
24         />
25      <!-- 在android:inputType中可以设置各种限制,比如邮箱地址等等 -->
26     <EditText
27         android:id="@+id/et_limit_number"
28         android:layout_width="match_parent"
29         android:layout_height="wrap_content"
30         android:inputType="number"
31         />
32
33     <TextView
34         android:layout_width="match_parent"
35         android:layout_height="wrap_content"
36         android:text="通过代码校验EditText是否为空"
37         />
38      <!-- 在android:inputType中可以设置各种限制,比如邮箱地址等等 -->
39     <EditText
40         android:id="@+id/et_verify_empty"
41         android:layout_width="match_parent"
42         android:layout_height="wrap_content"
43         android:inputType=""
44         />
45     <Button
46         android:id="@+id/btn_verify"
47         android:layout_width="match_parent"
48         android:layout_height="wrap_content"
49         android:text="开始校验"
50         />
51
52 </LinearLayout>
时间: 2024-10-29 19:11:08

EditText实现输入限制和校验的相关文章

28、editText只输入英文字母和&#39;-&#39;,用于授权码输入

1 InputFilter filter = new InputFilter() { 2 3 @Override 4 public CharSequence filter(CharSequence source, int start, int end, 5 Spanned dest, int dstart, int dend) { 6 // TODO Auto-generated method stub 7 for (int i = start; i < end; i++) 8 { 9 //在这

android 设置字体颜色、EditText自动输入转换成大写字母的多种方式

在TextView上面设置某一个字的字体颜色为指定颜色时,可以通过java类SpannableString类和Html语言来实现. (一)SpannableString类方式 private void setText(TextView t){ String text = t.getText().toString().trim(); SpannableString span = new SpannableString(text); span.setSpan(new ForegroundColorS

android 中如何限制 EditText 最大输入字符数

方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilter 进行过滤 //editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20 [java] view plaincopy public class TextEditActivity exten

代码设置Android EditText的输入长度maxLength

在今天开发中遇到一个自己写的自定义控件,因为考虑到复用,在每个需求下的edittext的输入长度不一样,在xml文件里面设置是不能实现这个需求的,于是在发现了这个API,可以通过代码设置! 希望对大家有所帮助! public void setEtCoustomLength(int length){ if (length>0) { etCoustom.setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)}); } } 重

Android EditText中输入价格判断

EditText 中输入价格判断 mText.addTextChangedListener(new SimpleEditWatcher() { @Override public void afterTextChanged(Editable s) { final String text = s == null ? "" : s.toString(); mClickButton = !TextUtils.isEmpty(text.trim()); int index = text.inde

备忘: Android中把EditText的输入内容转为大写

editText_SerialCode = (EditText) findViewById(R.id.editText_SerialCode); editText_SerialCode.addTextChangedListener(textWatcher); private TextWatcher textWatcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int

android代码设置EditText只输入数字、字母

 如何设置EditText,使得只能输入数字或者某些字母呢? 一.设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了. et_1.setKeyListener(new DigitsKeyListener(false,true)); 方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下 android:singleLine="true" android:nume

EditText对输入的内容进行过滤

在做项目开发的时候,有时候要求输入框EditText只能输入特定内容,比如手机号码只能输入数字,用户名密码能输入字母及数字等.针对这种要求android中也自带了一些处理方式,比如可以在布局文件中设置android:inputType="number"保证只能输入数字等,也可以在布局文件中设置android:digits=""设置特定的字字符等.今天我们要讲的是另外一种方式,就是通过EditText的addTextChangedListener()监听来实现对输入内

Android 开发之拦截EditText的输入内容,定制输入内容

1.EditText作为一个比较成熟的View,在Android的应用开发中得到极为广泛的使用.在某些特殊情况下,我们可能需要定制EditText的输入内容, 只允许指定功能的输入,例如输入一个”ddd:mm:ssssss“格式的度分秒角度. 一些错误的思路有: (1)OnKeyListener,实现EditText的OnKeyListener并不能拦截EditText的输入,OnKeyListener只能够监听到一些按物理键事件,例如菜单键.返回键.音量键等, 而输入法作为一个单独的进程,Ed