如果EditText为空,如何使按钮不可点击?

时间:2014-02-14 11:01:55

标签: android

如果EditText为空,如何使按钮无法点击

我有2个Edittext和一个按钮我不希望用户能够在其中一个EditText为空时单击该按钮

我想知道如何让按钮在点击按钮时将颜色变为透明,这样看起来就像是按下了按钮。

6 个答案:

答案 0 :(得分:2)

你可以检查这个条件:

if(edt_text.getText().equals(""))
{
      yourbutton.setEnabled(false);
      //or
      yourbutton.setClickable(false);   
}

答案 1 :(得分:1)

试试这个: -

if(TextUtils.isEmpty(mEdittext.getText()))
{
   button.setEnabled(false);
}

TextUtils是来自Android本身的类。

答案 2 :(得分:1)

how to make the button unClickable if EditText is empty

正如其他答案所说:

if(edt_text.getText().equals(""))
{
      button.setEnabled(false);
}
  

我有2个编辑文本和一个按钮我不希望用户能够在其中一个EditText为空时单击该按钮

在这种情况下,如果EditText为空,最好实现addTextChangedListener以便按setEnable(false)按钮,如果不是,则为true。

editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            if(s.toString().equals("")) {
                button.setEnabled(false);
            } else {
                button.setEnabled(true);
            }
        }

        @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

        }
    });
  

我想知道如何让按钮在点击按钮时将颜色变为透明,这样看起来就像是按下了按钮

如果您使用默认的Button样式,那么您无需执行任何操作。但是,如果您为按钮定义selector drawable,setEnable()上的EditText方法将调用您的选择器drawable的android:state_enabled属性的相应drawable(如果已定义)。< / p>

有关选择器的更多信息:StateList Drawables

答案 3 :(得分:0)

if(editText.getText().toString().equalsIgnoreCase(" ") || editText.getText() == null) {

    button.setEnable(false);

}

答案 4 :(得分:0)

答案很短,你必须使用:

button.setEnable(false);

答案 5 :(得分:0)

可能有帮助的代码..

boolean check;
    txt1.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) 
        {
            if(!arg1)
            {
                if(!txt1.getText().toString().trim().equals(""))
                {
                    check=true;
                }
                else
                {
                    check=false;
                }
            }
        }
    });
    txt2.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) 
        {
            if(!arg1)
            {
                if(!txt2.getText().toString().trim().equals(""))
                {
                    check=true;
                }
                else
                {
                    check=false;
                }
            }
        }
    });
    if(check)
    {
        btnn.setEnabled(true);
    }