Android 添加addTextChangedListener后执行一些操作
我有一个简单的例子:Android 添加addTextChangedListener后执行一些操作,android,android-edittext,Android,Android Edittext,我有一个简单的例子: //在UI编辑文本和按钮列表上 EditText et=(EditText)findViewById(id); 按钮b=(按钮)findViewById(id); et.addTextChangedListener(新的TextWatcher(){ @凌驾 public void beforeTextChanged(字符序列s、int start、int count、int after){} @凌驾 public void onTextChanged(字符序列,int st
//在UI编辑文本和按钮列表上
EditText et=(EditText)findViewById(id);
按钮b=(按钮)findViewById(id);
et.addTextChangedListener(新的TextWatcher(){
@凌驾
public void beforeTextChanged(字符序列s、int start、int count、int after){}
@凌驾
public void onTextChanged(字符序列,int start,int before,int count){}
@凌驾
公共无效后文本已更改(可编辑){
//这里有简单的逻辑
如果(ss.length()>2){
b、 setEnabled(真);
}否则{
b、 setEnabled(假);
}
}
});
问题在于,第一次执行posterextchanged
(ss.length()==0)后,按钮(b)被禁用。
但是,即使执行了ss.length()>2
和lineb.setEnabled(true)
(我可以在调试模式下看到),按钮仍保持禁用状态
我不明白为什么会发生这种情况。您的代码运行良好,您指的是ss而不是(可编辑的s)中的s。
如果将ss更改为s后遇到问题,请告诉我。可编辑参数是
s
或ss
?实际上代码对我来说工作正常。可编辑的不是ssoh,这是我的错误(只是在这里键入示例时)。当然它必须是s
,而且它在我的真实项目中。。所以问题还是出现了