0
私は基本的なonItemSelectedリスナーが添付されたスピナーを持っています。今私が欲しいのは、複数の他のonItemSelected Listenerをこのスピンナーに追加して、それらのすべてを実行することです。それを実装する方法は?単一のスピナーに複数のonItemSelectedリスナー
私は基本的なonItemSelectedリスナーが添付されたスピナーを持っています。今私が欲しいのは、複数の他のonItemSelected Listenerをこのスピンナーに追加して、それらのすべてを実行することです。それを実装する方法は?単一のスピナーに複数のonItemSelectedリスナー
は、これにあなたの他のリスナーを追加し、あなたのスピナーにリスナーとしてこれを設定します。
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...);
}
}
}
単一のものにすべてのあなたのItemSelectedListenersを結合します。 –
はい、かなりまっすぐです。しかし、私はスピナーの中にスピナーを持っているスピナーに一種のラッパークラスを書いています。私はこのスピンナーを使って動的レイアウトを作成しています。ですから、onItemSelected Listener内の機能を動的に増やす方法が必要です。あなたが言及したこととは別の方法で他の方法。 – ArslanAnjum