0

Hello all simple question how do you disable the submit button till to edittext are filled is it an if command or something ??

    b = (Button)findViewById(R.id.login);  
    et = (EditText)findViewById(R.id.username);
    pass= (EditText)findViewById(R.id.password);

    if (et & pass == '  ') {

    }

    b.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            dialog = ProgressDialog.show(Login.this, "", 
                    "Validating user...", true);
             new Thread(new Runnable() {
                    public void run() {
                        login();                          
                    }
                  }).start();               
        }
    });
4

3 回答 3

2

您可能想要做的是使用TextWatcheronTextChanged()检查每个是否为空。但是你想检查文本View而不是检查etand pass,你可能想要String在每个中获取。

String etString = et.getText().toString();
String passString = pass.getText().toString();

如果它们不是 emty 和null,再加上您想要的任何其他检查,例如长度,那么

b.setEnabled(true);
于 2013-04-20T03:08:47.363 回答
0

为了确保用户名不为空,我们从 中获取文本,并从字符串的开头EditTexttrim()结尾删除换行符、空格和制表符。然后我们检查长度是否大于 0。我们对密码进行相同的检查,然后使用 启用按钮功能setEnabled(true)

b = (Button)findViewById(R.id.login);  
et = (EditText)findViewById(R.id.username);
pass= (EditText)findViewById(R.id.password);
b.setEnabled(false); 
if (et.getText().toString().trim().length() > 0 && 
            pass.getText().toString().length() > 0){
    b.setEnabled(true);
}

b.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        dialog = ProgressDialog.show(Login.this, "", 
                "Validating user...", true);
         new Thread(new Runnable() {
                public void run() {
                    login();                          
                }
              }).start();               
    }
});
于 2013-04-20T03:40:27.400 回答
0

也许这不是你要找的,但

b.setEnabled(false);

将为您禁用该按钮,然后您可以在需要时启用它:

b.setEnabled(true);

于 2013-04-20T02:58:06.957 回答