Ich habe eine DialogFragment
erfolgreich mit meiner MainActivity
arbeiten. Er fordert die doPositiveClick()
Methode Aktivität mitIn DialogFragment, das von zwei verschiedenen Aktivitäten aufgerufen wird, wie wird für diesen Fall in die aufrufende Aktivität zurückgeworfen?
((MainActivity)getActivity()).doPositiveClick()
So weit so gut, aber jetzt mag ich die gleichen DialogFragment
mit SecondActivity
wieder verwenden. Ich habe mit der Syntax der obigen Zeile experimentiert, aber ich habe immer noch keinen Weg gefunden, MainActivity
durch etwas zu ersetzen, das MainActivity
oder SecondActivity
bezeichnen könnte, je nachdem, welches DialogFragment
genannt wurde. Ich hatte beide Tätigkeiten, die eine Schnittstelle mit doPositiveClick()
implementieren, aber noch habe ich nicht die richtige Syntax getroffen, um meine Anforderung zu erfüllen.
Lassen Sie mich klar sein: Ich frage eine Ja oder Nein Frage. Kann ich die obige Zeile anpassen, sodass ich keine Listener
an einer Schnittstelle einbeziehen muss? Ist ja, wie? Wenn nein, fair genug.
Ich würde sagen, mit einer Schnittstelle ist der beste Weg. Der einzige andere Weg, den ich mir vorstellen kann, ist die Verwendung von 'instanceof' und einer if-Anweisung. Die Implementierung einer Schnittstelle in beiden Aktivitäten klingt jedoch sinnvoll. Irgendein Grund dagegen? –
Meine Frage dreht sich um Casting. Ich möchte wissen, ob es eine Möglichkeit gibt, in dieser Situation angemessen zu wirken und so eine viel effizientere Implementierung zu erreichen, anstatt eine ganz neue Schnittstelle einbringen zu müssen. – Reg