禁止登录按钮,直到表单填写Android SDK中(Disable login button til

2019-11-02 02:03发布

您好所有简单的问题,你如何禁用提交按钮,直至到的EditText填充是一个if命令或什么?

    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();               
        }
    });

Answer 1:

你可能会想要做的就是使用TextWatcher和onTextChanged()检查,看看是否每个是空的。 但是你要检查的文本不View所以不是检查et ,并pass ,你可能想要得到的String中的每一个。

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

如果他们不emty和null ,再加上任何其他检查你想,如长度,然后

b.setEnabled(true);


Answer 2:

也许这是不是你在找什么,但

b.setEnabled(false);

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

b.setEnabled(true);



Answer 3:

为了确保用户名不为空,我们从一开始的文字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();               
    }
});


文章来源: Disable login button till form is filled android sdk
标签: android sdk