2017-08-28 1 views
-1

ich weiß, finden will, wenn Verfahren zur SchleifeWie zu finden, wenn Verfahren in Android-for-Schleife beendet

in Java in fertig

Beispiel:

for(int i = 0; i< list.size();i++){ 
Client.check(list.get(i).getUsername); 
} 

Ich mag letzte Client.check erkennen und finden run and loop ende :)

+1

Gibt es einen Grund, warum Sie nicht einfach einen Code außerhalb der Schleife haben können, der nach Abschluss der Schleife erreicht wird? – Logarr

+2

Das hat nichts mit Android zu tun. Bitte markieren Sie Ihre Fragen richtig. –

+0

Ist 'Client.check' ein blockierender Anruf? –

Antwort

1

Es gibt zwei Möglichkeiten, dies zu tun, innerhalb und außerhalb der for-Schleife.

Innerhalb für Schleife.

for(int i = 0; i < list.size(); i++) { 
    Client.check(list.get(i).getUsername); 

    if(i == (list.size()-1)){ 
     //this is the last iteration of for loop 
    } 
} 

Außerhalb für Schleife.

for(int i = 0; i < list.size(); i++) { 
    Client.check(list.get(i).getUsername); 
} 
Log.d(TAG, "For loop finished); 
0

Nicht sicher, was Sie genau machen wollen, aber ich denke, Sie haben einen Fehler gemacht mit der Bedingung. Hier ist die Korrektur:

for (int i = 0; i < list.size(); i++) { 
    Client.check(list.get(i).getUsername); 
} 

Ich änderte list.size zu i<list.size, so dass jetzt die Schleife wird nur dann ausgeführt, während i weniger als list.size.

EDIT: Sie haben den Syntaxfehler behoben, also wenn Sie etwas tun wollen, sobald die Schleife fertig ist, fügen Sie einfach mehr Code darunter hinzu. Alternativ, wenn Sie etwas in der for-Schleife tun wollen, wie es vielleicht zum letzten Mal Loops können Sie dies versuchen:

for (int i = 0; i < list.size(); i++) { 
    Client.check(list.get(i).getUsername); 
    if (i == list.size()-1) { 
     // do something for the last loop 
    } 
} 
+0

das war Syntaxfehler :), aber mein Problem ist immer noch lebendig ... –

+0

Ich möchte wissen, wie Detect-Methode innen für Schleife –

+0

Ok abgeschlossen. Ich bin mir nicht sicher, was genau Sie dann erkennen wollen, denn wenn die Schleife fertig ist, geht es zur nächsten Zeile. Fügen Sie einfach noch mehr Code hinzu. Oder möchtest du etwas gleichzeitig mit der letzten Schleife machen? –

0

Nur einige Code in der for-Schleife hinzufügen. Wie folgt:

for(int i = 0; i < list.size(); i++) { 
    Client.check(list.get(i).getUsername); 
    System.out.println("Method finished !"); 
} 
+0

Dank bro aber Client.Check-Methode verbringt einige Zeit, und ich möchte Code nach dem Ende dieser Methode –

+0

Bearbeiten ausführen: Code geändert, um auf Ihre Bedenken zu reagieren, –

+1

Dies druckt 'list.size()' mal –

Verwandte Themen