我的对话框 View 中有三个 editText。起初,我禁用肯定按钮,一切正常(“确定”意味着当显示对话框时,肯定按钮被禁用,这就是我想要的)。现在,如果我的三个 editText 的长度大于零,我想启用它。我只为一个 editText 找到了一些答案。 谁能帮帮我?
最佳答案
您可以为每个 EditText 使用 TextWatcher 来监视字符串长度。
boolean et1HasText, et2HasText, et3HasText; // Global variables
et1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length > 0){
et1HasText = true;
}else{
et1HasText = false;
}
validateButton();
}
// Other callbacks
...
...
});
et2.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length > 0){
et2HasText = true;
}else{
et2HasText = false;
}
validateButton();
}
//Other callbacks
...
...
});
et3.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length > 0){
et3HasText = true;
}else{
et3HasText = false;
}
validateButton();
}
//Other callbacks
...
...
});
private void validateButton(){
if(et1HasText && et2HasText && et3HasText){
//Enable the button only when all the 3 edit texts have text
button.setEnabled(true);
}else{
//Disable otherwise (user clicks backspace and clears the edit text etc)
button.setEnabled(false);
}
}
关于java - 在对话框中有两个 editText 并根据这些将肯定按钮设置为启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401890/