在Java空间中,事件处理通常通过实现多播观察者模式的接口调度来完成。但是,在Android上,许多接口被定义为只有一个订户。例如,SeekBar定义setOnSeekBarChangeListener(..)而不是addOnSeekBarChangeListener(..)。
由于各种原因,这可能是非常有限的,并且如果复合的不同部分调用setOnSeekBarChangeListener(..),也会引入错误,后一个调用会删除以前的订阅者......静默!
为什么在Android上以这种方式实现?在对现有小部件进行子类化时,我只是希望滚动自己的事件处理而不是触摸现有的外部公开的小部件?