你好所有简单的问题如何禁用提交按钮,直到编辑文本被填充是if 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();
}
});
答案 0 :(得分:2)
您可能想要做的是使用TextWatcher并在onTextChanged()
检查以查看每个是否为空。但是,您希望检查的文字不是View
,而是检查et
和pass
,而不是检查每个String
。
String etString = et.getText().toString();
String passString = pass.getText().toString();
如果他们不是emty和null
,加上你想要的任何其他支票,如长度,那么
b.setEnabled(true);
答案 1 :(得分:0)
也许这不是你想要的,而是
b.setEnabled(false);
将为您禁用该按钮,然后您可以在需要时启用它:
b.setEnabled(true);
答案 2 :(得分:0)
要确保用户名不为空,我们会从EditText
和trim()
获取文字,以便从字符串的开头和结尾删除换行符,空格和制表符。然后我们检查长度是否大于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();
}
});