2016-04-09 4 views
0

Ich arbeite an einem einfachen Android-Puzzle-Spiel. Zu Beginn wird der Spielzustand durch die Verwendung eines PRNG bestimmt, um einen zufälligen anfänglichen Spielzustand zu erzeugen. Ich möchte jedoch ein Seed-System implementieren, bei dem der Benutzer eine alphanumerische Zeichenfolge eingeben kann, die dann als Startwert für die PNRG dient, die den Anfangszustand des Spiels generiert. Benutzer können dann Samen mit ihren Freunden teilen, um das gleiche Brett untereinander zu spielen.Android-Dialoge: Soll ich ein DialogFragment oder eine separate Aktivität verwenden, um ein einfaches Eingabefeld zu bearbeiten

Um dies zu tun, brauche ich die Aktivität, die das Spiel anzeigt, um einen Dialog anzuzeigen, der einen EditText und eine OK-Schaltfläche hat, damit der Benutzer einen Startwert eingeben kann. Der Dialog sollte dann die eingegebene Zeichenfolge an die Spielaktivität senden, damit er sie zum Erstellen einer Karte verwenden kann. Nach dem, was ich gelesen habe, scheint es, dass ich dafür entweder eine Aktivität mit einem Dialogthema oder ein DialogFragment verwenden kann.

Während ich eine themenbezogene Dialogaktivität erstellen konnte, scheint eine separate Aktivität für diesen einfachen Zweck wie Overkill zu funktionieren, und ich kann keine Möglichkeit finden, einen String aus einem DialogFragment in die Spielaktivität zurückzugeben.

Welcher Weg würde besser funktionieren, eine separate Aktivität oder ein DialogFragment. Wenn es sich um ein DialogFragment handelt, was wäre der beste Weg, um einen String an die Spielaktivität zurückzugeben?

Vielen Dank im Voraus für jede Hilfe.

+0

Im Dialog können Sie Zeichenfolge in Bearbeitungstext in einer Variablen eingeben und diese Variable öffentlich statisch machen, so dass auf sie leicht zugegriffen werden kann –

Antwort

0

Sie können dieses einfache android Dialogfeld popup library versuchen. Es ist sehr einfach für Ihre Aktivität zu verwenden.

Pop.on(this) 
       .with() 
       .title(R.string.title)// you can skip if not needed 
       .layout(R.layout.custom_pop)// your custom layout 
       .when(new Pop.Yah() { // positive button 
        @Override 
        public void clicked(DialogInterface dialog, View view) { 
         Toast.makeText(getBaseContext(), "Yah button clicked", Toast.LENGTH_LONG).show(); 
        } 
       }) 
       .when(new Pop.Nah() { // negative button, you can skip if not neeed 
        @Override 
        public void clicked(DialogInterface dialog, View view) { 
         Toast.makeText(getBaseContext(), "Nah button clicked", Toast.LENGTH_LONG).show(); 
        } 
       }).show(); 
Verwandte Themen