我有一个包含EditTexts
的注册屏幕,每个屏幕都有一个TextWatcher
,因此我可以“收听”更改并显示或隐藏错误。
例如:
etFirstName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (etFirstName.getText().length() > 0) {
hideFirstNameError();
}
}
});
问题是代码太过膨胀,我的editTexts
的每一个都反复重复所有这些代码。
所以我只是想知道是否有更清晰的方式来写它?试图用扩展TextWatcher
的自定义类替换但后来我需要将变量作为变量传递给构造函数EditText
并且我不确定这是否是一个好习惯:传递给其他类比你的Activities
组件与android有关?
答案 0 :(得分:0)
创建自定义类:
let transtion = CircularTransition(containerView: UIView())
然后传递而不是public class CustomTextWatcher implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//empty
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//empty
}
@Override
public void afterTextChanged(Editable s) {
//empty
}
}
。