Android 多个Edittext不为空,Button才可点击的方法

来源:互联网 发布:2016年癌症数据 权威 编辑:程序博客网 时间:2024/06/09 14:59

本人Android新手,在开发过程中遇到需要对多个Edittext进行判断,只有Edittext全部不为空时,Button才可以点击。而百度无果后,自己用了比较原始的方法解决了这一问题。不知有没有其他的实现方法。

在Android 填写信息并提交时,一般都不能让用户提交空白的信息。因此需要对Edittext进行输入监听。通过判断Edittext是否为空,来设置Button是否可点击。对只有一个Edittext时,实现起来较为简单。但是在一般开发中,Edittext通常不是一个。

直接上代码吧。。

 int flag=0;    public class mywatcher implements TextWatcher {        private EditText EditId=null;        private String str;        public mywatcher(EditText id){            EditId=id;        }            @Override            public void beforeTextChanged(CharSequence s, int start, int count, int after) {                if(EditId==editText1){                    if(TextUtils.isEmpty(editText1.getText()))                        insert.setEnabled(false);                    else                        flag = flag - 1;//1                }                if(EditId==editText2){                    if(TextUtils.isEmpty(editText2.getText()))                        insert.setEnabled(false);                    else                        flag = flag - 1;//2                }                if(EditId==editText3){                    if(TextUtils.isEmpty(editText3.getText()))                        insert.setEnabled(false);                    else                        flag = flag - 1;//3                }                if(EditId==editText4){                    if(TextUtils.isEmpty(editText4.getText()))                        insert.setEnabled(false);                    else                        flag=flag-1;                }                if(EditId==editText5){                    if(TextUtils.isEmpty(editText5.getText()))                        insert.setEnabled(false);                    else                        flag=flag-1;                }            }            @Override            public void onTextChanged(CharSequence s, int start, int before, int count) {            }            @Override            public void afterTextChanged(Editable s) {                if(EditId==editText1){                    if(TextUtils.isEmpty(editText1.getText()))                        insert.setEnabled(false);                    else                        flag = flag + 1;//1                }                if(EditId==editText2){                    if(TextUtils.isEmpty(editText2.getText()))                        insert.setEnabled(false);                    else                        flag = flag + 1;//2                }                if(EditId==editText3){                    if(TextUtils.isEmpty(editText3.getText()))                        insert.setEnabled(false);                    else                        flag = flag + 1;//3                }                if(EditId==editText4){                    if(TextUtils.isEmpty(editText4.getText()))                        insert.setEnabled(false);                    else                        flag=flag+1;                }                if(EditId==editText5){                    if(TextUtils.isEmpty(editText5.getText()))                        insert.setEnabled(false);                    else                        flag=flag+1;                }                //Log.i("flag", String.valueOf(flag));                if(flag==5) {                    insert.setEnabled(true);                }        };    }

简单来说,就是Edittext为空时,flag-1;当Edittext不为空时,flag+1。当所有的Edittext不为空时,flag等于Edittext的个数。由此来实现这一功能。

0 0
原创粉丝点击