Android code anhalten (Thread.sleep)

E

elTorro

Neues Mitglied
0
Hi,
Ich habe folgendes Problem, ich möchte das UI anzeigen lassen, im Hintergrund läuft ein code, dieser soll aber kurz warten und dann weiter ausgeführt werden. Es handelt sich um ein Spiel, das warten hat den Sinn, dass man sieht was der CPU-Gegner tut. Für den PC hatte ich das ganze schon implementiert. Ohne CPU funktioniert das ganze.
Hier mal der Code der für Android nicht funktioniert.
Zur übersicht hab ich einiges entfernt. Wenn ich diesen Code ausführe stürzt die App ab.

Code:
public class Waiter extends Thread {

    public Waiter(){
        super();

    }
    
    public void run(){

//warten für 2 sekunden
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

  //code weiter ausführen-UI Elemente werden neu gesetzt
    }

    public void start(){
        this.start();       
    }
}

Es wäre toll, wenn jemand einen Hinweis, noch besser eine Lösung, für mich hätte.
Da ich auch gegoogelt habe bin ich auf Handler, postDelay(), postInvalidate() gestoßen und hab auch einiges versucht aber nichts hat zum erfolg geführt.

LG
 
Ich habe es selbst gelöst, weil ich es doch noch richtig verstanden habe.
Code:
public Class Waiter{
....
    public void run(){

        Handler handler = new Handler(); 
        handler.postDelayed(new Runnable() { 
             public void run() { 
                 //code weiter ausführen
             } 
        }, 2000); 
   }
...
}
 
asynctask ist ne schöne variante für sowas
 
  • Danke
Reaktionen: elTorro
Hat das einen Vorteil asynctask zu nutzen, wenn ich das richtig verstehe ist das im Grunde als würde man einen Backgroundthread starten, mit dem man trotzdem noch UI manipulationen vornehmen kann, das warten müsste man aber trozdem implementieren.
Ich habe eben mal meine Variante daraf getestet, ob die UI noch wärend des warten auf Eingaben reagiert und es scheint so als ginge es. Aber vielleicht treten bei anderen Projekten deswegen Fehlverhalten auf. Immoment reicht das für meine Anforderungen, aber vielleicht lösen wir dadurch Probleme anderer oder Zukünftige Probleme.

Danke und LG
 
wenn du im UI thread wartest, wird das sicher zu problemen führen.
 

Ähnliche Themen

S
Antworten
9
Aufrufe
1.213
swa00
swa00
M
Antworten
4
Aufrufe
1.173
swa00
swa00
5
Antworten
0
Aufrufe
1.150
586920
5
Zurück
Oben Unten