- Android (which I've been using extensively recently)  'setListener'
instead of 'addListener' which at first I thought I would find
restrictive, but is actually quite liberating.

I also think setListener() is a better form, where as if one needs
multiple ones, there is room to do so...

A single setListener() method would actually not be sufficient in Pivot. Each component is pretty much guaranteed to already have one listener as soon as it is created, since the skin registers for event notifications when it is installed. Any app-level listeners would be in addition to that. FWIW, WPF (Silverlight) uses an approach similar to what we do in Pivot, only it uses an overload of the += and -= operator to add/remove listeners rather than ListenerList#add() and remove().

Also, I agree with Noel that weak references are likely to cause more problems than they would solve.

Reply via email to