Domanda

Sono un principiante in Android.Ora sto lavorando su un'app semplice.Voglio creare un timer in app.Voglio che il conto alla rovescia da 10 a 0 (sarà visibile all'utente) e quando è 0, dovrebbe fare smth.Dovrebbe iniziare a contare quando viene chiamato Event OnTouch.Ho provato in questo modo, ma non funziona.Qualcuno può aiutare per favore?

Ecco il mio codice:

final MyCounter timer = new MyCounter(10000,1000);

public class MyCounter extends CountDownTimer{

        public MyCounter(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }

        @Override
        public void onFinish() {
            System.out.println("Timer Completed.");
            time.setText("Timer Completed.");
        }

        @Override
        public void onTick(long millisUntilFinished) {
            time.setText((millisUntilFinished/1000)+"");
            System.out.println("Timer  : " + (millisUntilFinished/1000));
        }
    }
        public boolean onTouchEvent(MotionEvent event) {
          if(event.getAction()==MotionEvent.ACTION_DOWN){
             timer.start();
          }
          return false;
.

È stato utile?

Soluzione

Il codice del timer sembra corretto.Fammi controllare alcune ipotesi: 1) "Time" è una messa a punto 2) Hai effettivamente agganciati a Ontouchevent fino a qualcosa.

Imposta un punto di interruzione in ontouchevent e verificare che venga chiamato.Inoltre, dai un'occhiata alla classe log e la logcat per verificare che i metodi vengano chiamati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top