首页 > 解决方案 > 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
    }
});

}

有没有机会摆脱这两种未实现的方法?

标签: javaandroid-studioadapter

解决方案


您可以为 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) {}
}

现在你有了你的“适配器”(你也可以将它设置为抽象的,以确保某些东西会被实现)


推荐阅读