java - 单个微调器上的多个 onItemSelected 监听器

标签 java android

我有一个微调器,它附加了一个基本的 onItemSelected 监听器。现在我想要的是将多个其他 onItemSelected 监听器添加到此微调器中,并且我希望它们全部执行。如何实现?

最佳答案

将其设置为 Spinner 的监听器,然后将其他监听器添加到此:

class ItemSelectedMultiListener implements OnItemSelectedListener {

    private List<OnItemSelectedListener> mListeners = new ArrayList<>();

    public void addListener(OnItemSelectedListener listener) {
        mListeners.add(listener);
    }

    public void removeListener(OnItemSelectedListener listener) {
        mListeners.remove(listener);
    }

    @Override
    public void onItemSelected(...args...) {
        for (OnItemSelectedListener listener : mListeners) {
            listener.onItemSelected(...args...);
        }
    }

    @Override
    public void onNothingSelected(...args...) {
        for (OnItemSelectedListener listener : mListeners) {
            listener.onNothingSelected(...args...);
        }
    }
}

关于java - 单个微调器上的多个 onItemSelected 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41820510/

相关文章:

Java Atm机(如何添加备注)

android - 从 sdcard 将图像文件读入位图,为什么会出现 NullPointerException?

android - Kotlin - 尝试通过点击从另一个应用程序打开一个应用程序

java - Android:如何在 android studio 中配置 FFMPEG 最新版本?

Android Google Directions Service 可以原生使用吗?包装框架?有公共(public)交通/自行车路线吗?

android - iPhone 在响应式布局中忽略了主体边距

java - hibernate 重复项

java - 使用 GSON 反序列化具有相同接口(interface)的类

java - Spring 的 @Cacheable 放在返回列表的方法上时会做什么?

java - Method.invoke 不适用于包私有(private)类