2016-08-08 95 views
-2
  • Ich habe eine App mit meiner Haupt-Aktivität ("MainActivity")
  • Ich habe einen Blick in einer "Android Projektbibliothek". Ich möchte diese Ansicht in mehreren Apps verwenden, deshalb habe ich diese Ansicht in einer Bibliothek hinzugefügt.
  • kann ich den Blick von meiner App verwenden

Aber jetzt kommt das Problem.Software Design Führung benötigt (Android Library Project)

Ich möchte mit meiner Apps MainActivity aus meiner Sicht interagieren.

Wenn die Ansicht in der App insteed der Bibliothek würde ich einfach ...

(MainActivity)context.myfunction() 

... meiner Meinung nach nennen würde.

Aber im Falle der Bibliothek, meine Ansicht nicht über die MainActivity, weil es aus dem Projekt-Bereich.

Wie kann ich aus meiner Sicht mit der Aktivität interagieren, die in einer Bibliothek gespeichert ist? Irgendwelche Hinweise?

+0

Was ist falsch an dieser Frage. Warum -2. Bitte streiten Sie, warum Sie abgelehnt haben. –

+0

Wahrscheinlich zum Übertakten? Dies ist nicht wirklich eine "Designmuster" -Frage; mehr von "wie löse ich dieses spezifische Android-Problem". – GhostCat

Antwort

0

Nicht sicher, ob das eine gute Lösung ist, aber ich poste es hier. Es wird wahrscheinlich anderen helfen.

habe ich eine Schnittstelle in meiner Library Project:

public interface InteractActivity { 
    public void interact(String sCommand, List<Object> objects); 
} 

ich die Schnittstelle auf meine Tätigkeit umgesetzt:

@Override 
    public void interact(String sCommand, List<Object> objects) { 
     // TODO Auto-generated method stub 
     if(sCommand.equals("mycommand")){ 
      do something ... 
     } 
    } 

Dann rufen Sie einfach ich die Methode aus meiner Sicht (die in meiner Bibliothek ist Projekt):

((InteractActivity) context).interact("mycommand",myparameters);