目前我的目标是默认禁用按钮,然后在EditTexts input1和input2中存储任何值时重新启用
input1= (EditText) findViewById(R.id.input1);
input2= (EditText) findViewById(R.id.input2);
go1= (Button) findViewById(R.id.Go1);
go1.setEnabled(false); //Default turning off my button
input1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.toString().equals("")) {
go1.setEnabled(false);
} else {
go1.setEnabled(true);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
上面的工作是当input1有任何值时启用按钮go1,但是我不确定如何使用它以便仅当两个输入1和输入2都有值时启用按钮。
创建第二个侦听器只会向后工作,因为会覆盖另一个。
任何帮助都将不胜感激。
答案 0 :(得分:1)
同时验证EditText
的值。
input1= (EditText) findViewById(R.id.input1);
input2= (EditText) findViewById(R.id.input2);
go1= (Button) findViewById(R.id.Go1);
go1.setEnabled(false); //Default turning off my button
TextWatcher watcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
go1.setEnable(!TextUtils.isEmpty(input1.getText())
&& !TextUtils.isEmpty(input2.getText()));
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) { }
}
input1.addTextChangedListener(watcher);
input2.addTextChangedListener(watcher);
答案 1 :(得分:0)
这可以使用if语句完成。
input1= (EditText) findViewById(R.id.input1);
input2= (EditText) findViewById(R.id.input2);
go1= (Button) findViewById(R.id.Go1);
go1.setEnabled(false); //Default turning off my button
input1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.toString().equals("")) {
go1.setEnabled(false);
} else {
if(!input2.getText().toString.equals("")) //reference line **1**
go1.setEnabled(true);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
同样的TextWatcher也可以添加到input2
,但您需要编辑从input2
到{{1}的代码中的参考行1 }。这是有效的,因为当input1
或input1
文本的值发生更改时,它会检查两个输入是否为空。