Anfängerfrage zu Interfaces

rollerueckwaerts

Erfahrenes Mitglied
Hallo liebe tutorials.de Gemeinde,

ich komme eigentlich aus der iOS Ecke und bin jetzt neu in Java eingestiegen. In iOS gibt es sogenannte Delegates mit der man von einem Objekt aus, Methoden in einem anderen Objekt ausführen kann. Das Gleiche benötige ich nun in Java und hab dazu Interfaces gefunden.

Ich habe nun ein Interface deklariert und die Methoden implementiert nur weiß ich nicht wie ich die nun aufrufen kann ....

Code:
Klasse 1:

public class JsonRPC {

 interface jsonInterface
 {
   public void doAction();
 }    
 
 public JSONArray getData() {

 // Nachdem ich die JSON Daten vom Webserver bekommen habe soll nun in Klasse 2 die 
 // doAcAction() Methode ausgeführt werden
}
 


Klasse 2:

public class Map extends MapActivity implements jsonInterface {

...... jsonRPC.getData();

	public void doAction() {
			closeProgressDialog();
			fillMap();
		}

}



Wie schaff ich es nun in der getData() Methode von Klasse 1 die Methode doAction() in Klasse 2 aufzurufen ?


Vielen Dank schon jetzt !!
 
Zuletzt bearbeitet:
Hi,

am besten schaust du dir dazu mal das Observer-Pattern an. Das ist die Standardmethode, wie man in Java Eventhandling betreibt.

Best regards

Edit: Übrigens sollte jede Klasse und jedes Interface per Konvention in einer eigenen Datei sein.
 
Danke für den Tipp aber hab ich dann doch für die einfachere Variante entschieden:

Code:
Klasse 1:
 
public class JsonRPC {
 
 public JSONArray getData(Map map) {
 
 ...... map.doAction();
}
 
 
 
Klasse 2:
 
public class Map extends MapActivitye {
 
...... jsonRPC.getData(this);
 
    public void doAction() {
            closeProgressDialog();
            fillMap();
        }

Wollte es eigentlich schon vorher so machen aber da hats nicht geklappt. Jetz gehts :)
 
}
 
Zurück