Ladebalken erscheint zu spät

D

Dominik0806

Mitglied
Hi.
Ich habe eine kleine Android app Programmiert, bei der es vorkommen kann, dass eine for-Schleife länger läuft (10 sec). Daher wollte ich eine kleine Lade-Animation hinzufügen, die jedes mal erscheint, wenn der User auf den Berechnebutton tippt. Das Problem ist, dass die Animation erst erscheint, nachdem die Berechnung ausgeführt wurde. (Also das Programm berechnet und erst wenn das Ergebnis erscheint würde die Animation angezeigt werden.) Uns das soll sie logischerweise nicht!

Der Code in der Mitte ist noch lange nicht perfekt und ich bin da noch dran. Mir geht es nur darum, wie ich dafür sorge, dass die Animation nicht erst nach den Berechnungen angezeigt wird.

Java:
public void onClick(View view) {

    
            //Hier soll die Animation sichtbar gemacht werden!
                loading.setVisibility(View.GONE);

                long tStart = new Date().getTime();

                BigInteger zahl = new BigInteger(String.valueOf(etnPrimzahl.getText()));
                boolean ergebnis;

                if (zahl == new BigInteger("1")) {
                    tvPrimzahlErgebnis.setText("Die Zahl 2 ist eine Primzahl!");

                } else if (zahl.compareTo(new BigInteger("1")) == 1) {
                    
                    //Diese Funktion führt zu der for-Schleife
                    ergebnis = primzahlPruefen(zahl);
                    
                    if (ergebnis) {
                        tvPrimzahlErgebnis.setText("Die Zahl " + zahl + " ist eine Primzahl!");
                    } else {
                        tvPrimzahlErgebnis.setText("Die Zahl " + zahl + " ist keine Primzahl");
                    }
                } else {
                    tvPrimzahlErgebnis.setText("Die Zahl " + zahl + " ist keine Primzahl!");
                }

                long dauer = new Date().getTime() - tStart;
                tvTime.setText("" + dauer);
    
                //Und hier soll die Animation wieder verschwinden.           
                loading.setVisibility(View.VISIBLE);

            }
 
Ähnliche Java Themen

Ähnliche Java Themen

Anzeige


Oben