我正在学习如何编写Android应用程序,并有一个问题。使用TextWatcher和onTextChanged方法之间有什么区别,设置一个等于CharSequence参数的字符串值,并简单地使用getText方法。
private TextWatcher passwordListener = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
try{
password = charSequence.toString();
}
catch(Exception e){
password=null;
}
}
VS
password = password_EditText.getText().toString();
答案 0 :(得分:1)
如果您希望收到文本已更改的通知,并且需要对该事件本身进行直接响应,则可以使用文本观察程序。例如,如果您想要动态进行一些自定义验证,并根据输入的值自动启用/禁用按钮。
使用getText只是返回特定时间编辑文本字段中的内容。如果您想通过其他事件(如按钮单击)获取文本值,则可以使用此选项。
答案 1 :(得分:0)
TextWatcher可以动态监听文本changge,更强大的文本处理.getText()是静态获取。