Aller au contenu

Compte à rebours


Femto

Recommended Posts

Posté(e)

Bonjour j'ai une question qui tiens de la curiosité.

J'ai ici un bout de code que j'ai test pour afficher un compte à rebours :

package com.femto.timer;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;

public class main extends Activity {
   TextView timeDisplay; 

 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   timeDisplay = new TextView(this);
   this.setContentView(timeDisplay);
   MyCount counter = new MyCount(10000, 1000);
   counter.start();

 }

 public class MyCount extends CountDownTimer {

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

     public void onFinish() {
         timeDisplay.setText("Done!");
     }

     public void onTick(long millisUntilFinished) {
         timeDisplay.setText("Left: " + millisUntilFinished / 1000);

     }

    }
}

L'inconvénient que j'y trouve, est d'avoir deux classes dans un seul fichier. J'ai donc opter pour créer une deuxième classe (un nouveau fichier dans mon package) nommée donc "MyCount" ou j'ai copier la deuxième partie de mon code.

Le problème est que mon text view est déclaré dans mon premier fichier donc je ne peux pas gérer l'affichage directement dans ma classe. Comment dois je m'y prendre pour retourner les valeurs du onTck et onFinish ?.

Posté(e)

La question n'est pas là. Je me demande s'il ne serais pas plus propre de faire deux fichiers distincts, bon je suis plus habitué à voir du C#, donc peut être c'est tout à fait normale de se retrouver avec des inner class me diras tu.

Posté(e)

Si tu le souhaites vraiment, je vois au moins 2 solutions :

- tu créé un constructeur de ta classe MyCount dans lequel tu passe le textView en argument

- Tu créé une variable de classe statique dans ta première classe et tu y met ton textview.

Posté(e)

Merci de ton idée , mais en y réfléchissant deux fois c'est vrai que je me complique la vie pour rien. Comme je disais ma question était plutôt d'ordre de la curiosité.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...