Turkcell | Geleceği Yazanlar

countdowntimer hakkında

CountDownTimer(15000, 1000) {

            @Override
            public void onTick(long c) {
                timeText = (TextView) findViewById(R.id.textTime);
                timeText.setText("Time:" + c / 1000);
            }

            @Override
            public void onFinish() {
                timeText = (TextView) findViewById(R.id.textTime);
                timeText.setText("Time:0");
                handler.removeCallbacks(runnable);
                for (int i = 0; i < imageArray.length; i++) {
                    imageArray[i].setVisibility(View.INVISIBLE);
                }
            }
        }.start();
 public void increaseTime(View view) {

        timeText = (TextView) findViewById(R.id.textTime);
        
        timeText.setText("Time:" );

 

 

 

Arkadaşlar herkese merhaba,uygulamamın içinde yukarıdaki gibi countdowntimer tanımladım ben istiyorum ki butona her tıkladığımda kalan zamanım 2 saniye kadar artsın ancak yapamadım.Yardımcı olursanız sevinirim

 

    +1

    raydingoz

    09 Kasım 2017

    Başlamış sayacı değiştiremiyoruz. ama bitirebiliyoruz.

    bu yüzden algroitma basit olması lazım:

    • şu anki süreyi öğren
    • öncekini durdur
    • yeni süreyi hesapla (eskisi +2)
    • yeni süreyi başlat

    yukarda siz sadece bir seferlik textview'in değiştirmişsiniz.

     

    basit bir kod:

    long sayac =60000; //60sn?
    CountDownTimer mCountDownTimer;
    
    
    
    void artir(){
            if (mCountDownTimer != null){ //sayaç aktifte kapat
               mCountDownTimer.cancel();
               sayac(); //sonra yeni sayaç üzerinden başlat
            }else{
               sayac(); //değilse başlat
            }
    }
    
     private void sayac() {
            mCountDownTimer = new CountDownTimer(sayac + 2000, 1) { //en güncel sayacı 2 sn artır
    
                @Override
                public void onTick(long kalan) {
                        textTimer.setText("Timer: " + kalan/ 1000);
                    sayac =kalan; //sayacın durumunu yenilemek için
                }
    
                @Override
                public void onFinish() {
                    //bitti benimki
                }
            }.start();
        }

    böyle bişi sanırım

    0

    Bircan Cankaya

    17 Kasım 2017

    Test

    0

    ----

    16 Kasım 2017


    long sure=15000;

    CountDownTimer(sure, 1000)

    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.