Methode wird nicht nach Reihenfolge ausgeführt

  • Antworten:2
  • Bentwortet
Ford Prefect
  • Forum-Beiträge: 29

12.05.2017, 10:30:02 via Website

Hallo,
ich habe folgendes Problem:
In meiner Methode

 public void roundEnd(){
    progressBarPunches.setProgress(0);
    gameImages.setImageResource(R.drawable.pictureroundend);
    finished = true;
    timeDelay(1000);
    newRound();
}

wird die Methode timeDelay()

public void timeDelay(long delay){
    try{
        Thread.sleep(delay);
    }catch (InterruptedException e){
    }
}

immer zuerst ausgeführt und danach der ganze Rest.
Ich habe schon meine Java Lehrer gefragt, doch die konnten mir auch nicht helfen.
Kann mir jemand sagen, woran das liegt, und wie ich das verhindern kann?
Mit freundlichen Grüßen,
Ford.

Antworten
swa00
  • Forum-Beiträge: 3.704

12.05.2017, 10:40:15 via Website

Hallo Ford,

was willst du denn machen ??
mit newRound warten , bis die Sekunde abgelaufen ist ?

Das geht nicht , du musst dann newRound im Handler einbauen.

Bsp :

>  new Handler().postDelayed(new Runnable() {
                          @Override
                          public void run()
                         {
                            newRound();
                          }
                      }, 1000);

P.S. Ich dachte, euer Lehrer soll EUCH was beibringen , nicht umgekehrt :-)

— geändert am 12.05.2017, 10:51:22

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Ford Prefect
  • Forum-Beiträge: 29

12.05.2017, 10:52:40 via Website

ja genau das wollte ich.
Perfekt, danke für die Hilfe, habs jetzt hinbekommen.
Unsere Lehrer sind bei allem was über Würfelspiele im Terminal Programmieren hinausgeht Überfordert...
Deswegen bin ich echt Dankbar das es dieses Forum gibt, bis jetzt wurde mir immer schnell geholfen :)
Schönen Tag noch und danke für die Hilfe.

Antworten