我有以下简单示例:
// on UI EditText and Button esists
EditText et = (EditText) findViewById(id);
Button b = (Button) findViewById(id);
et.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
// here simple logic
if ( ss.length() > 2 ) {
b.setEnabled(true);
} else {
b.setEnabled(false);
}
}
});
问题是第一次执行afterTextChanged
(ss.length()== 0)后按钮(b)被禁用。
但是,即使ss.length() > 2
和行b.setEnabled(true)
被执行(我可以在调试模式下看到它),按钮也会被禁用。
我不明白为什么会这样。
答案 0 :(得分:0)
你的代码工作正常,你指的是ss而不是s(可编辑的)。 如果您在将ss更改为s后遇到问题,请告诉我。