Android Studio: Einen Button in einer For Schleife verwenden

tmo0107

Neues Mitglied
Ich habe eine Klasse "Manager", die zwei Werte übergibt. Einmal den Integer "mode" und den String "description"
Java:
public class Manager  {

    public int mode;
    public String description;


    public Manager(int mode, String description) {
        this.mode = mode;
        this.description = description;

    }
}
Diese Daten werden dann an die Methode "description" übergeben. Die Methode enthält eine Arrayliste mit dem Namen "test":

Java:
public ArrayList<Manager> description() {
    ArrayList<Manager> test = new ArrayList<>();
    test.add(new Manager(1,"Test 1"));
    test.add(new Manager(2,"Test 2"));
    test.add(new Manager(3, "Test 3"));
    shuffle(test);
    return test;
}
In der Methode "print", wird über die ArrayList iteriert. Je nachdem, welcher Modus übergeben wird, wird in der TextView etwas anderes ausgegeben.
Java:
public void print(List<Manager>test) {
    for(Manager i : test) {
        if(i.mode == 1) {
            descriptions.setText("Mode 1 " + i.description);
        } else if(i.mode == 2) {
            descriptions.setText("Mode 2 " + i.description);
        } else if(i.mode == 3D) {
            descriptions.setText(("Mode 3 " + i.description));
        }
    }
}
Jetzt will ich einen Button verwenden, um nach jedem Klick ein zufälliges Element aus der Array-Liste auszugeben, bis alle Elemente ausgegeben wurden oder bis die Schleife beendet ist.
Bislang habe ich eine buttonClicked-Methode, die nach jedem Klick die "print"-Methode aufruft. Aber hier wird die Methode nach jedem Klick neu gestartet.
Java:
 public void buttonClicked(View view) {
            print(description());
            //printDrink(description(), inputPlayernames());

    }
Wie kann ich den Button in der Schleife so verwenden, dass ich jedes Element nur einmal nach jedem Klick erhalte, bis die Schleife beendet ist?
 

Jw456

Top Contributor
Mit einer for Schleife wie du es willst nicht.
Eigentlich bist du mit deinem Button ja selbst die Schleife.
Du könntest zb eine Instanzvariable benutzen die dann als schleifen variable fungiert. Also beim Button klick prüft du in dem listener ob das Ende des Arrays erreicht ist wenn nein erhöht du die Variable und rufst dein print auf.
Das for in der print Methode brauchst du nun nicht mehr.
Den Wert der laufvariablen könntest du auch der print Methode übergeben.
Oder das prüfen machst du in der print Methode. Ist dir überlassen.



Du bist ja jetzt die for Schleife.
 
Zuletzt bearbeitet:

Robertop

Bekanntes Mitglied
Wie @Jw456 schon sagt, ist die For Schleife hier nicht die richtige Wahl, weil du ja im Prinzip mit deinem Button-Click selbst die Schleife bist. So, wie es momentan ist, wird bei jedem Klick auf den Button die For Schleife ausgeführt, also die Liste komplett durchgegangen. Statt der For-Schleife müsstest du eine Variable definieren, die jeden Click mitzählt und den entsprechenden Listeneintrag mit "print" ausgibt.

Allerdings wirst du dann auf das Problem stoßen, dass du gerade noch bei jedem Button-Click die "description()" Methode aufrufst, die ja jedes Mal eine neue Liste erzeugt und diese mischt (falls shuffle das tut, was ich denke). Die description Methode darfst du also eigentlich nicht erst beim Click auf den Button ausführen, oder wenn, dann nur beim ersten Mal.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Repository bei Room-Database in Android Studio (Java) Android & Cross-Platform Mobile Apps 2
W In Android Studio Integer an andere activities übergeben Android & Cross-Platform Mobile Apps 2
wladp Android Studio Room Database Android & Cross-Platform Mobile Apps 1
K BLE Komunikation mit Android studio und esp32 Android & Cross-Platform Mobile Apps 5
M Paper DB wird in Android Studio nicht erkannt Android & Cross-Platform Mobile Apps 7
lolcore Android Studio -Download Documentation for Android SDK Android & Cross-Platform Mobile Apps 0
W Problem mit Android Studio Android & Cross-Platform Mobile Apps 0
OSchriever Auf onClick-Listener reagieren und Parameter übergeben (Android Studio) Android & Cross-Platform Mobile Apps 4
W Variable überschreiben (Android Studio) Android & Cross-Platform Mobile Apps 2
ruutaiokwu Android Warum muss man bei Android Studio immer 2x auf "Run" klicken damit die App auf dem Gerät startet Android & Cross-Platform Mobile Apps 8
ruutaiokwu Wie fügt man bei Android Studio .jar-Libraries zu einem Android-Java-Projekt hinzu? Android & Cross-Platform Mobile Apps 33
M Komponenten positionieren in Android Studio 3.6.3 Android & Cross-Platform Mobile Apps 1
M Android Studio - Property-Fenster einblenden Android & Cross-Platform Mobile Apps 1
M Android Studio - App auf dem Smartphone testen Android & Cross-Platform Mobile Apps 7
M Android Studio - Configuration fehlt Android & Cross-Platform Mobile Apps 20
M Unsupported class file major version 57 - Fehlermeldung bei Android Studio Android & Cross-Platform Mobile Apps 27
ruutaiokwu Android Studio (SDK) ANDROID_SDK_ROOT-Variable? Android & Cross-Platform Mobile Apps 5
J Android Studio macht seltsame Sachen Android & Cross-Platform Mobile Apps 2
J Android 9.1 aber android Studio findet API22 Android & Cross-Platform Mobile Apps 0
Dimax Web-Seite in native app convertieren mit Android Studio Android & Cross-Platform Mobile Apps 8
A Android Studio: while-Schleife beginnt nicht Android & Cross-Platform Mobile Apps 5
lolcore android studio: fehler bei laden des emulators Android & Cross-Platform Mobile Apps 10
A Android-Studio: 2. Layout nach kurzer Zeit aufzeigen Android & Cross-Platform Mobile Apps 2
A jpg wird im Android Studio nicht akzeptiert Android & Cross-Platform Mobile Apps 3
J Android Studio - ArrayList - Selected Item ermitteln Android & Cross-Platform Mobile Apps 13
A Android Studio: ImageView verpixelt Android & Cross-Platform Mobile Apps 2
J intend Service im Android Studio Android & Cross-Platform Mobile Apps 4
T Fehler Android Studio: java.net.MalformedURLException: no protocol: http%3A%2F%2Fwww.mal ..... Android & Cross-Platform Mobile Apps 2
Arif Android Android Studio: Fehler beim Einbinden fremder Bibliothek? Android & Cross-Platform Mobile Apps 2
A Android Studio - App mit Nearby Android & Cross-Platform Mobile Apps 1
Jackii Android Android Studio Error im Testlauf ohne zu programmieren Android & Cross-Platform Mobile Apps 9
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
E Wie erhalte ich Zugriff auf das Microfon? (Android Studio) Android & Cross-Platform Mobile Apps 9
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
A Beginnen mit Serverkommunikatsion in Android Studio Android & Cross-Platform Mobile Apps 6
E Android Studio Android & Cross-Platform Mobile Apps 15
L Android Android Studio Setup killt Explorer Android & Cross-Platform Mobile Apps 3
J Variable in strings.xml (Android Studio) Android & Cross-Platform Mobile Apps 0
B Android Android Studio lässt PC abstürzen Android & Cross-Platform Mobile Apps 3
Light Lux Fehlermeldung unter Android Studio Android & Cross-Platform Mobile Apps 1
A Android Android Studio Emulator Problem Android & Cross-Platform Mobile Apps 1
S Android Studio Bluetooth App Problem Android & Cross-Platform Mobile Apps 6
Maresuke Android Android Studio & Bitbucket Android & Cross-Platform Mobile Apps 0
S Software-Tastatur des Android-Studio-Emulators öffnen? Android & Cross-Platform Mobile Apps 0
S Android Studio Emulator falsch eingestellt? Android & Cross-Platform Mobile Apps 1
N Blackscreen bei while-Schleife? (Android-Studio) Android & Cross-Platform Mobile Apps 2
S Android Studio MySql Daten in Listview mit sub Item Android & Cross-Platform Mobile Apps 11
S Android studio, SSH an Raspberry Android & Cross-Platform Mobile Apps 14
H Android Android Studio mit NDK ünterstützung, wann? Android & Cross-Platform Mobile Apps 1
T Android MSSQL Verbindung herstellen - Android Studio Android & Cross-Platform Mobile Apps 2
J Benachrichtigung Freigabe ab Android 14 Android & Cross-Platform Mobile Apps 1
J Android Benachrichtigung zum Zeitpunkt ers Android & Cross-Platform Mobile Apps 15
J Das Beispiel von Android erzeugt Fehler Android & Cross-Platform Mobile Apps 8
J Zeitdifferenzen unter Android 7 (API < 26) berechnen Android & Cross-Platform Mobile Apps 4
W Netzwerk Verbindungen Java Android Android & Cross-Platform Mobile Apps 107
Z Android IntelliJ Android & Cross-Platform Mobile Apps 2
Android App auf das eigene Handy bekommen Android & Cross-Platform Mobile Apps 3
Alex IV Android App erstellen Android & Cross-Platform Mobile Apps 3
OnDemand CrossPlatform Kotlin iOs/Android Datenverbrauch Android & Cross-Platform Mobile Apps 2
N "Schöne" Datatable in Android und setzen von Parametern von Textview im Code Android & Cross-Platform Mobile Apps 5
N Android game programmieren Android & Cross-Platform Mobile Apps 5
G Android UDP Kommunikation Android & Cross-Platform Mobile Apps 1
J Android zugrif auf Thread nach Handy drehen. Android & Cross-Platform Mobile Apps 10
T Android Android Augmented Faces in Java. Neue Landmarks erstellen Android & Cross-Platform Mobile Apps 1
K Android Android In-App-Purchase lädt nicht Android & Cross-Platform Mobile Apps 0
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
J Is Android Development Head First Outdated? Android & Cross-Platform Mobile Apps 3
J Android Android Datenbankverbindung zum Raspberry Pi Android & Cross-Platform Mobile Apps 1
S Sinnvollste weg eine SQLite DB mit Android auslesen Android & Cross-Platform Mobile Apps 7
W App Abo Android Android & Cross-Platform Mobile Apps 10
OSchriever Android Android MediaPlayer bei Anruf stoppen/pausieren Android & Cross-Platform Mobile Apps 2
W removeNetwork Android App mit Spendenaktion fürs Tierheim! Android & Cross-Platform Mobile Apps 1
T Android R.string.test+i Problem Android & Cross-Platform Mobile Apps 2
P undefinierbarer Fehler Android Android & Cross-Platform Mobile Apps 8
T Android ArrayList sortieren mit 2 Werten ohne thencomparing , Wie? Android & Cross-Platform Mobile Apps 10
ruutaiokwu Android Selbst entwickelter SMTP-Client läuft auf PC, nicht aber auf Android Android & Cross-Platform Mobile Apps 9
ruutaiokwu Android Wo das 'android.useAndroidX' property hinzufügen? Android & Cross-Platform Mobile Apps 8
ruutaiokwu Android In einem Android-“Spinner”-Element GLEICHZEITIG Bild (links) UND Text (rechts) anzeigen Android & Cross-Platform Mobile Apps 0
P Login und Registrierung Android Anzeige Android & Cross-Platform Mobile Apps 7
S Von JavaFx zu Android Android & Cross-Platform Mobile Apps 12
K Android to Pi | Websocket Problem Android & Cross-Platform Mobile Apps 3
M Barrierefreie Appentwicklung für Android - Suche Codebeispiele Android & Cross-Platform Mobile Apps 8
M Wo kann ich das Android SDK herunterladen / wie kann ich es installieren Android & Cross-Platform Mobile Apps 3
O Web API in Android (JAVA) einbinden Android & Cross-Platform Mobile Apps 3
J Android App - Browser öffnen und Text eingeben/Button click auslösen Android & Cross-Platform Mobile Apps 10
T Android SDK-Manager startet nicht in Eclipse Android & Cross-Platform Mobile Apps 5
T Bringen mir die Java-Basics irgendetwas für die Android-Programmierung Android & Cross-Platform Mobile Apps 4
J Was soll das bedeuten ? does not require android.permission.BIND_JOB_SERVICE permission Android & Cross-Platform Mobile Apps 7
L Android Android Development eventuell mit Flutter Android & Cross-Platform Mobile Apps 1
S Android Layout - welchen Typ? Android & Cross-Platform Mobile Apps 3
L Android Android Contacts DB auslesen Android & Cross-Platform Mobile Apps 1
L Android content URI Datei einlesen Android & Cross-Platform Mobile Apps 9
N Android Game Background Service Android & Cross-Platform Mobile Apps 11
Excess Android Service läuft nicht in Sandby weiter Android & Cross-Platform Mobile Apps 2
B Android Projekt für Android und IOS erstellen? Android & Cross-Platform Mobile Apps 5
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
J Android Snake Android & Cross-Platform Mobile Apps 15
J Android TaschenRechner Android & Cross-Platform Mobile Apps 22
I Das Problem mit der Tastatur... android:windowSoftInputMode="adjustPan" Android & Cross-Platform Mobile Apps 1
C Android Programmierung speziell oder einfach Java Buch kaufen? Android & Cross-Platform Mobile Apps 3

Ähnliche Java Themen

Neue Themen


Oben