简体   繁体   English

单个微调器上的多个onItemSelected侦听器

[英]Multiple onItemSelected Listeners on a single spinner

I have a spinner which has a basic onItemSelected Listener attached to it. 我有一个带有基本onItemSelected侦听器的微调器。 Now what I want is to add multiple other onItemSelected Listeners to this spinner and I want all of them to execute. 现在,我要向此微调器添加多个其他onItemSelected侦听器,我希望所有这些侦听器都执行。 How to implement it? 如何执行呢?

Set this as the listener to your Spinner, then add your other listeners to this: 将此设置为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...);
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM