Befehl für "Warte zeit"

  • Du willst den Benutzer 2 Sekunden warten lassen und dabei das Gerät "sperren"?
    Wenn ja: das wird nix werden.
    Wenn nein: was genau möchtest du stattdessen erreichen?

  • Ich will das z.B 100 nicht gleich als 100 in einem TextView
    erscheint, sondern es hoch gezählt wird(je nach grösse der zahl schneller oder langsamer)
    Ich dachte das könnt ich so machen:
    for(int i = 0;i>zahl;i++){
    Befehl für warten;
    TextView.setText(i.toString());
    }

  • Dann schau dir mal AsyncTask an, der ist ideal für sowas.

    Dein Code würde dann in doInBackground() zum Einsatz kommen, zusammen mit einem Thread.sleep() für die Verzögerung, und im onPostExecute() startest du dann, was nach deiner "Warteschleife" passieren soll.

  • ich hab dass probiert: public void delay(){

    try {

    Thread.sleep(100);

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }
    for(int i = 0;i < Also;i++){
    also.setText(String.valueOf(nfc.format(i))); //zahl ausgeben
    delay(); //100ml sec warten


    }


    aber dass hängt dann einfach :-/  :-[

  • Du kannst in dem Thread nicht direkt auf UI Elemente zugreifen, dafür verwendet man onProgressUpdate()

    ...was ist "nfc.format()"?

  • NumberFormat nfc = DecimalFormat.getCurrencyInstance(Locale.GERMANY);


    also damit nich 100000.0 sondern 100.000,00€ ausgegeben wird

  • nfc: hm, ist das Ergebnis dann nicht bereits ein String und dein valueOf() damit überflüssig?

    Wegen der Verwendung von AsyncTask schaust du dir vielleicht mal ein Example oder Tutorial an, findet man zuhauf in Internet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!