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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值