Simpler Countdown Timer (fixes Datum)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Simpler Countdown Timer (fixes Datum)

    Hallo zusammen,

    ich versuche seit gestern, einen simplen CountdownTimer zu programmieren, der mir lediglich in Sekunden anzeigen soll, wie lange es noch dauert bis zum angegebenen Datum (in diesem Fall der 10.08.2015 19:37).

    Wenn ich die App auf meinem Handy installiere kommt immer nur ein weißes oder schwarzes Bild und sonst nichts.
    Das Debuggen funktioniert bei mir leider - warum auch immer - nicht.

    Nachfolgend mein Code:

    import ...

    public class MainActivity extends AppCompatActivity {




    public long timeleft;
    public EditText zaehler;
    public EditText over;
    public Date now;
    public Date mydate;
    public Calendar cal;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    zaehler = (EditText) findViewById(R.id.editText);
    over = (EditText) findViewById(R.id.editText2);
    cal = Calendar.getInstance();
    cal.set(2015, Calendar.AUGUST, 10, 19, 37, 0);
    now=new Date();
    mydate=cal.getTime();

    while(mydate.getTime()>=now.getTime()) {
    timeleft=(mydate.getTime()-now.getTime());
    new CountDownTimer(timeleft, 1000){

    @Override
    public void onTick(long millisUntilFinished) {

    zaehler.setText("Noch: " + millisUntilFinished / 1000 +" Sekunden");
    }
    @Override
    public void onFinish()
    {
    zaehler.setText("");
    over.setText("Platzhalter");
    }
    }.start();}
    }
    }



    Hat von euch jemand eine Idee, was ich falsch gemacht habe?
    Muss ich bei den XMLs irgendetwas beachten?
    Sorry, bin ein blutiger Anfänger was Java & Android angeht und dachte das Programm kann man in 10 Minuten schreiben. Jetzt sitze ich seit gestern Abend daran :D

    Vielen Dank!

    PS: Wenn ich den Teil ab 'cal = Calendar.getInstance();' auskommentiere lässt sich die App ganz normal öffnen.
  • Ersteinmal herzlich Willkommen im Forum,

    Grundsätzlich kann man soetwas mit einem Breakpoint im Debugger gut herausbekommen.
    Oftmals verrät auch der Logcat die Probleme.
    Hier würde ich zuerst die While-Schleife entfernen, da du so unendlich viele (okay bis die Zeit abgelaufen ist) Timer erstellst.
    Du brauchst dies allerdings nur ein einziges Mal aufzurufen. OnTick und OnFinished machen dann den Rest.
    Ansonsten überprüfe, ob deine IDs aus der XML mit denen in deinem Code übereinstimmen.
    Der Calendar-Code sieht eigentlich okay aus.
    MfG,
    Christopher

    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke