2011-01-17 5 views
9

Estoy acostumbrado a la programación en C#, y una cosa que extraño de Java es que no parecen tener C# 's agradable capacidades de manejo integradas en el evento:de aplicación C# -como eventos en Android/Java

// define event signature 
public delegate void SomeEventHandler(); 

class SomeEventGenerator { 
    // define subscribable event property 
    public event SomeEventHandler SomeEvent; 

    protected void OnSomeEvent() { 
     if (SomeEvent != null) { 
      SomeEvent(); 
     } 
    } 
} 

class SomeEventClient { 
    public SomeEventClient(SomeEventGenerator eg) { 
     // subscribe 
     eg.SomeEvent += new SomeEventHandler(eg_SomeEvent); 
     // do some stuff 
     // unsubscribe 
     eg.SomeEvent -= new SomeEventHandler(eg_SomeEvent); 
    } 

    private void eg_SomeEvent() { 
     // handle event 
    } 
} 

¿Cuál es la mejor manera de obtener algo similar y ligero en Java/Android que tiene la capacidad de suscribirse/cancelar la suscripción de múltiples clientes de eventos y llamar a todos los clientes suscritos a la vez?

Respuesta

6

Te recomendamos que estudies el concepto de oyentes en java. Encontré un artículo muy bueno llamado "C# desde la perspectiva de los desarrolladores de Java" que es posible que desees consultar.

http://www.25hoursaday.com/CsharpVsJava.html

+0

lo que tiene que hacerlo usted mismo. Hay una pequeña sección sobre eventos en ese artículo que encontré útil. Configuré algunas interfaces 'OnSomeEventListener' y' addListener'/'removeListener' /' callListeners' respaldados por un 'Vector '. – jnylen

+0

Esa es una buena reseña. Gracias por el enlace. –

Cuestiones relacionadas