java - Android Studio 和侦听器适配器
问题描述
我是 android studio 和应用程序开发的新手,我有一个问题:
我曾经用 java 开发 GUI(Eclipse,SWT),我不得不经常使用监听器。侦听器有多种必须实现的方法,除非我使用适配器。适配器逻辑允许我只实现我需要的方法,而不是全部。
我试图找出这个逻辑是否也适用于android studio,但没有成功。
例如,我不想使用beforeTextChanged()和afterTextChanged()方法:
私人无效检查距离输入(){
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 start, int before, int count) {}
}
现在你有了你的“适配器”(你也可以将它设置为抽象的,以确保某些东西会被实现)
推荐阅读
- scala - 使用带有子类型参数的超级方法
- python - 将python输出放入数据框中的问题
- matlab - 上下分屏实验
- node.js - 我想在运行 nightmare.js 后获取 gig 中的所有数据,但我不断得到 gig 未定义
- javascript - 将鼠标悬停在 Javascript 和/或 CSS 列表中的相应单词上时,如何显示不同的图像?
- python - 训练和验证的不同 Keras 增强
- oracle - 在 SQL Server 中有一个我想在 Oracle 中复制的计数器
- android - 旋转屏幕时可用蓝牙设备的 ListView 变为空白
- java - Android Firebase:如果 OnCompleteListener 在主应用程序线程上调用,它如何异步工作?
- django - Django - 图片未上传