问题描述
我是 android studio 和应用程序开发的新手,我有一个问题:
我曾经在 Java 中开发 GUI(Eclipse、SWT),我不得不大量使用监听器。侦听器有多种必须实现的方法,除非我使用适配器。适配器逻辑允许我只实现我需要的方法,而不是所有的方法。
我试图找出这个逻辑是否也适用于 android studio,但没有成功。
例如,我不想使用 beforeTextChanged() 和 afterTextChanged() 方法:
private void checkdistanceinput() {
EditText editText = (EditText) findViewById(R.id.distance_input);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged() {
// unimplemented
}
@Override
public void onTextChanged() {
setdistanceTextChanged(editText);
}
@Override
public void afterTextChanged() {
// unimplemented
}
});
}
有没有机会摆脱这两个未实现的方法?
解决方法
您可以为 TextWatcher 制作自己的“适配器”实现: (顺便说一句,你忘记了方法的所有参数)
public static abstract class TextWatcherAdapter implements TextWatcher {
// Implament all 3 methods here,but leave their bodies empty
@Override public void afterTextChanged(Editable s) {}
@Override public void beforeTextChanged(CharSequence s,int start,int count,int after) {}
@Override public void onTextChanged(CharSequence s,int before,int count) {}
}
现在你有了你的“适配器”(你也可以将它设置为抽象以确保某些东西会被实现)