Dialoge anzeigen

dkdoemk43

Mitglied
Ich habe zwei Dialoge und möchte hintereinander den Dialog1 angezeigt haben, wenn man auf einen Button drückt, erscheint der Dialog2 (der erste verschwindet) wenn man bei ihm auf einen Button drückt, erscheint wieder Dialog1.

Nun sieht das ganze bei mir ungefähr so aus

Java:
class Dialog1{

  BspKlasse1 bspObj1;
  BspKlasse2 bspObj2;
  ... //weitere Instanzvariabeln und Deklarierungen

  public Dialog1(BspKlasse1 bspObj1, BspKlasse2 bspObj2){
    ...
  }

  public void dialogAnzeigen(){

    ...//Dialog wird sichtbar gemacht

    //Button wird Listener hinzugefügt
    ... { 
      ...
      Dialog2 dialog2 = new Dialog2(bspObj1, bspObj2, Dialog1.this);
      dialog2.dialogAnzeigen();
    }
  }
}

class Dialog2{

  BspKlasse1 bspObj1;
  BspKlasse2 bspObj2;
  Dialog1 dialog1;

  public Dialog2(BspKlasse1 bspObj1, BspKlasse2 bspObj2, Dialog1 dialog1){
    ...
  }

  public dialogAnzeigen(){

    ...//dialog wird sichtbar gemacht

    //Button wird Listener hinzugefügt
    ...{
      ...
      dialog1.dialogAnzeigen();
    }
  }
}

Irgendwie habe ich das Gefühl, dass das nicht der eleganteste, bzw. beste Weg ist.

Passt es so schon, oder sollte ich die Dialoge mit statischen Methoden verwenden, oder gäbe es noch eine andere, bessere Lösung?

Danke im Voraus!
 
Zuletzt bearbeitet von einem Moderator:
N

nillehammer

Gast
Also auf keinen Fall mit statischen Methoden. DAS wäre unobjektorientiert. Prinzipiell finde ich, man sollte die Behandlung von GUI-Events extern auslagern. Ich sehe, warum Du es hier gemacht hast, weil Du da praktischerweise gleich die Model-Instanzen weiterreichen kannst, aber ich glaube, das Handeln von Events ist ein Concern, der vom GUI-Element abgetrennt gehört.
 

dkdoemk43

Mitglied
Ich programmiere das ganze für die Android-Plattform und da braucht man BspObj1 und -2, nur um den Dialog überhaupt anzeigen zu können (Context und Resources).

das Handeln von Events ist ein Concern, der vom GUI-Element abgetrennt gehört.

Wie könnte man das machen? Meines Erachtens ist es bei Android aber üblich, dass man die Listener und das ganze Drumherum in der selben Klasse behandelt, in der auch das GUI-Element erzeugt wird. Oder hast du das anders gemeint?

Der entscheidende Punkt bei meiner Frage ist ja eigentlich, ob es elegant ist, dass man GUI-Element1 vom GUI-Element2 aus mit der Referenz des GUI-Element1 wieder aufruft.
 
Zuletzt bearbeitet:

Daassan

Mitglied
aahhhh android is natürlich was ganz adneres ^^

mach es doch über fragmente die ein/ausgeblendet werden
bzw hmm ich hab das auch mal gemacht

muss nurm al nachscahuen öööhhmmm...

genau wie in mein ersten post es gibt shcon nen dialogklasse
die kannst ableiten und anpassen
und wichtig muss in nem nebenläufigen thread laufen sonst blockiert es alles

wenn ich mich richtig entsinne
ok hab nur das alertdialog genutzt aber so viel anders wird das ja nich

soweit ich mich erinnern kann gibt es für alle möglcihen anwendungen shcon vordifinierte dialoge
was hast denn vor mit den beiden?
 
Zuletzt bearbeitet:

Daassan

Mitglied
ach und die Activity klasse zu deinem fensterchen is im endeffeckt die steuerklasse die gui wird in anderen dateien difinirt und erzeugt

die klasse hinter ihr steuert die gui nur
da wird das mvc eingehalten
 

dkdoemk43

Mitglied
Also das heißt, ich soll eine Methode in der Steuerklasse aufrufen, die dann wieder Dialog1 aufruft?

was hast denn vor mit den beiden?

Im Dialog1 soll der Benutzer einen Wert einstellen und wenn dieser unrealistisch hoch, bzw. klein ist, wird im Dialog2 darauf hingewiesen (->Tippfehler?). Dann kann's der User nochmal versuchen :)

PS: Selbstverständlich benutz ich den vorgefertigten AlertDialog. Bin doch nicht blöd :D
 

Daassan

Mitglied
ich würde es in dem Dialogobjekt alles reinpacken verhalten des dialogs und so

wenn du den dialog selber schreibst kannst auch an dem eingabefeld nen listener ranhängen
keypressed oder sowas
dann könntest direkt bei der eingabe nachfragen (vllt 2 sec verzögert via timer)
oder bei der okbutton methode

1. prüfst ob alles io is
2. wenn ja super aufrufen (wenn abgeleitet)
3. wenn nicht 2. dialog aufrufen und den dialog nicht schließen
 

dkdoemk43

Mitglied
ich würde es in dem Dialogobjekt alles reinpacken verhalten des dialogs und so

Also man benutzt ja ein AlertDialog.Builder - Objekt, um den Dialog zu erzeugen (es ist also denkbar). Meinst du, dass ich einfach alles in eine Klasse 'reinpacke'?

Das könnte mein (vermeintliches? :) ) Problem wunderbar lösen, aber ist es nicht wieder unelegant?

3. wenn nicht 2. dialog aufrufen und den dialog nicht schließen

Funktioniert leider nicht, weil beim Drücken eines Buttons das Dialogfenster standardgemäß geschlossen wird. Um das Problem zu umgehen, müsste ich den OnShowListener der Klasse AlertDialog überschreiben, wobei dieser Weg irgendwie erst ab API 8 möglich ist (Und nur deshalb das Minimum-API anheben?). Frag mich nicht warum.

( android - How to prevent a dialog from closing when a button is clicked - Stack Overflow )

2. wenn ja super aufrufen (wenn abgeleitet)

Was würde mir hier eine Vererbung (?) bringen? Habe ich noch nicht so genau verstanden.
 

schlingel

Gesperrter Benutzer
Also man benutzt ja ein AlertDialog.Builder - Objekt, um den Dialog zu erzeugen (es ist also denkbar). Meinst du, dass ich einfach alles in eine Klasse 'reinpacke'?
In deinem Fall macht es wohl mehr Sinn wenn du den bisschen extra Code in Kauf nimmst und dir selbst mit der Klasse PopupWindow den Dialog schreibst der auch die zwei Pages kann.

Alternativ könntest du das in eine Activity packen und mit einem FragmentPageViewer ausstatten. Dann könnte der Benutzer auch zurück swipen, wenn dir das gefällt. (Für das niedrige API-Level brauchst du dann das Android Compatibility Package.)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Kann jar swing Dialoge anzeigen? Java Basics - Anfänger-Themen 7
DeeDee0815 Java-newbie will Dialoge zentrieren und ein schönes GUI-Desi Java Basics - Anfänger-Themen 7
G Toolbar buttons sollen dialoge anzeigne statt pop up Java Basics - Anfänger-Themen 44
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
W ListView komplett anzeigen Java Basics - Anfänger-Themen 2
BeginnerJava "Weihnachtsbäume" anzeigen: Höhe als Parameter Java Basics - Anfänger-Themen 1
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
D Erste Schritte png in JFrame anzeigen? Java Basics - Anfänger-Themen 3
M PNG als Spieler im Fenster anzeigen Java Basics - Anfänger-Themen 4
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
M Rekursives Programm zum Anzeigen von Primzahlen Java Basics - Anfänger-Themen 3
M Auf MainJFrame Panels anzeigen lassen Java Basics - Anfänger-Themen 19
Rubberduck Combobox-Werte in GUI anzeigen Java Basics - Anfänger-Themen 13
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
V_Fynn03 Kontostand anzeigen lassen von einer anderen Klasse Java Basics - Anfänger-Themen 3
C Erste Schritte Bilder nach Export anzeigen Java Basics - Anfänger-Themen 0
O Popoup Menü im JTable richtig anzeigen Java Basics - Anfänger-Themen 6
J Einen Buttonklick in Label anzeigen Java Basics - Anfänger-Themen 6
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
A ArrayList - size() nur nach bestimmtem index anzeigen lassen Java Basics - Anfänger-Themen 13
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
S ArrayListe in einer JComboBox anzeigen Java Basics - Anfänger-Themen 10
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
M Vererbung Ein JLabel einer Elternklasse anzeigen Java Basics - Anfänger-Themen 8
A Jdialog nur 1x anzeigen Java Basics - Anfänger-Themen 2
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
T Positionen anzeigen Java Basics - Anfänger-Themen 6
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
N Datei einlesen und grafisch anzeigen Java Basics - Anfänger-Themen 31
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
binop Bild anzeigen lassen Java Basics - Anfänger-Themen 2
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
S eingegebene Matrix anzeigen Java Basics - Anfänger-Themen 4
T Kamerabild anzeigen Java Basics - Anfänger-Themen 1
J JPG in JFrame anzeigen lassen Java Basics - Anfänger-Themen 3
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
A Link in der Eingabeleiste nichr anzeigen Java Basics - Anfänger-Themen 1
C Methoden aus Klassen anzeigen lassen Java Basics - Anfänger-Themen 14
T Output in CMD anzeigen lassen? Java Basics - Anfänger-Themen 1
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
L Videos in Java anzeigen lassen Java Basics - Anfänger-Themen 10
M Wert aus String Feld anzeigen Java Basics - Anfänger-Themen 7
C JComboBox "Hilfstext" anzeigen Java Basics - Anfänger-Themen 11
C Html in einem JEditorPane anzeigen Java Basics - Anfänger-Themen 2
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
W Frame in anderer Klasse anzeigen lassen Java Basics - Anfänger-Themen 1
D Externe Eeite beim Mousover anzeigen Java Basics - Anfänger-Themen 0
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
L Über 100e Werte anzeigen Java GUI Java Basics - Anfänger-Themen 1
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
T JLabel anzeigen lassen... Java Basics - Anfänger-Themen 6
H Erste Schritte Uhrzeit anzeigen in Minuten Dezimal Java Basics - Anfänger-Themen 8
A Datum zwischen zwei Daten berechnen und in Tagen anzeigen Java Basics - Anfänger-Themen 4
B Variable im Fenster anzeigen lassen? Java Basics - Anfänger-Themen 2
L bestimmten Frame anzeigen lassen? Java Basics - Anfänger-Themen 6
P JTabel größe ändern und button anzeigen Java Basics - Anfänger-Themen 5
M Icon laden und anzeigen Java Basics - Anfänger-Themen 2
M Auslesen - Anzeigen - Schreiben Java Basics - Anfänger-Themen 13
K wie Datum in JTable anders anzeigen lassen Java Basics - Anfänger-Themen 2
X Methode in JTextArea anzeigen lassen Java Basics - Anfänger-Themen 18
J Ladebalken anzeigen während Bilder geladen werden Java Basics - Anfänger-Themen 2
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
M Website anzeigen Java Basics - Anfänger-Themen 4
P Erste Schritte Image anzeigen in ausführbarer jar mit der Toolkit class Java Basics - Anfänger-Themen 8
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
B JFrame - Namen anzeigen Java Basics - Anfänger-Themen 2
M Array von Personen anzeigen Java Basics - Anfänger-Themen 3
J Panel + Label anzeigen - Ich kriege es nicht hin Java Basics - Anfänger-Themen 3
G JList Objekte richtig anzeigen in JDK 6 Java Basics - Anfänger-Themen 5
G Bilder in Jar anzeigen lassen Java Basics - Anfänger-Themen 23
B jar Inhalt anzeigen Java Basics - Anfänger-Themen 5
M GUI JList - Objekte listen u. Feld anzeigen? Java Basics - Anfänger-Themen 16
M Componenten auf JPanel anzeigen Java Basics - Anfänger-Themen 2
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
N RegEx Wort anzeigen Java Basics - Anfänger-Themen 6
J JPG in einem Label einfügen und anzeigen lassen Java Basics - Anfänger-Themen 2
C JSlider und JRadioButton auf Label anzeigen? Java Basics - Anfänger-Themen 10
Y MenuBar in Application anzeigen Java Basics - Anfänger-Themen 7
B Alle Benutzer anzeigen Java Basics - Anfänger-Themen 17
B Applet anzeigen Java Basics - Anfänger-Themen 9
N Verschiedene JFrames in einem JFrame anzeigen Java Basics - Anfänger-Themen 7
A JPEG anzeigen Java Basics - Anfänger-Themen 3
L Webseiten anzeigen Java Basics - Anfänger-Themen 4
P OOP Statisitik anzeigen Java Basics - Anfänger-Themen 9
Zettelkasten Applet anzeigen ? Java Basics - Anfänger-Themen 5
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Zellen in einer JTable nicht anzeigen lassen Java Basics - Anfänger-Themen 3
I JFrame anzeigen Java Basics - Anfänger-Themen 9
M JTree ohne root anzeigen Java Basics - Anfänger-Themen 5
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
G Inhalt Jar-Files anzeigen, incl. Methoden Java Basics - Anfänger-Themen 2
I Liste von Dateien anzeigen/JTree Java Basics - Anfänger-Themen 4
S Toggle Button Array zum anzeigen auf GUI Java Basics - Anfänger-Themen 17
StrikeTom Quelltext einer Internetseite auf JTextArea anzeigen Java Basics - Anfänger-Themen 4
F.A Development In Projekt vorhandenes 2. Fenster anzeigen Java Basics - Anfänger-Themen 19
B Textlänge anzeigen Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben