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

本人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的个数。由此来实现这一功能。


版权声明:本文为CSDN_cccc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。