Abmelden beim Observer

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,

ich möchte mich beim Observer wieder abmelden, steh aber auf dem Schlauch,

Anmelden funktioniert so:

Code:
counter.attach(
      new Observer()
      {
         public void update(Subject subject)
         {
           System.out.print("divisible by 3: ");
         }
       }
     );
aber wie melde ich mich ab?


lg
 
Ich vermute mal, dass counter#attach das übergebene Objekt per addObserver in ein Observable einträgt. Dann funktioniert das Austragen nur per deleteObserver, wozu man aber wieder eine Referenz auf das Objekt bräuchte - was hier ja nicht geht, weil keine Referenz auf den eingetragenen Observer aufbewahrt worden ist.
 
Womit die Frage schon halb beantwortet wäre. Der Rest:
Code:
class XXX
{
    Observer theObserver;


    void yyy()
    {
        theObserver = new Observer()
       {
          public void update(Subject subject)
          {
            System.out.print("divisible by 3: ");
          }
        }
      );

       counter.attach(theObserver);
    }

    void zzz()
    {
        counter.deleteObserver(theObserver); // <-------------- da
    }
}
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben