Skocz do zawartości
daktarin

Android Pie - Toast w pętli wyświetla tylko ostatnią wartość

    Rekomendowane odpowiedzi

    Kod:

     for (int z=0; z<5; z++) {
                Toast.makeText(this, "z = " + z, Toast.LENGTH_SHORT).show();
     }

    Uruchamiając go na telefonie z Androidem Pie, Toast wyświetla tylko ostatnią wartość (pokazuje się TYLKO z = 4). W starszych wersjach systemu Toasty wyświetlają wszystkie wartości z pętli (z=0, z=1, ... z=4).

    Dlaczego tak się dzieje? Czy możliwe jest wyświetlanie kolejnych wartości również na Pie?

    Pozdrawiam

    Marcin

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ciekawa sprawa. Wygląda to tak jakby w Android Pie zmienił się sposób obsługi kolejki toastów i teraz wyświetlany jest tylko najnowszy z kolejki (jeżeli pojawi się odpowiednio szybko)
    Oczywiście można to obejść:

      new CountDownTimer(5000 /*ile milisekund ma odliczać*/, 1000 /*co ile ma wywoływać metodę onTick*/) {
    
                int z = 0;
                public void onTick(long timeRemaining) {
    
                    Toast.makeText(getBaseContext(),  "z = " + z,
                            Toast.LENGTH_SHORT).show();
                    z++;
                }
    
                public void onFinish() {
                   
                }
    
            }.start();

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.