我有这个问题,我有两个变量- 'mobile_input‘和'mobile_input_login’。我也有两个TextUtils。
我想做一个TextUtils,而不是做两个不同的TextUtils。我在网上搜索过,但没有这样的相关问题。
代码:
mobile_input.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) {
if (TextUtils.isEmpty(s.toString().trim())) {
clear2.setVisibility(View.INVISIBLE);
} else {
clear2.setVisibility(View.VISIBLE);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
mobile_input_login.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) {
if (TextUtils.isEmpty(s.toString().trim())) {
clear4.setVisibility(View.INVISIBLE);
} else {
clear4.setVisibility(View.VISIBLE);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});感谢您提前给我答复。
发布于 2020-09-28 23:14:19
您可以创建一个实现TextWatcher的自定义类
public class MyTextWatcher implements TextWatcher {
private View view;
public MyTextWatcher(View view) {
this.view = view;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (TextUtils.isEmpty(s.toString().trim())) {
view.setVisibility(View.INVISIBLE);
} else {
view.setVisibility(View.VISIBLE);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});然后在两个文本字段上使用它:
mobile_input.addTextChangedListener(new MyTextWatcher(clear2));
mobile_input_login.addTextChangedListener(new MyTextWatcher(clear4));我希望这回答了你的问题。
https://stackoverflow.com/questions/64104806
复制相似问题