Mon application a plusieurs boutons dont le texte sur eux est un compteur. Chaque bouton avec un compteur différent. Je veux commencer ce que je veux 2 indépendamment. Mon problème est que lorsque j'appuie sur un bouton, tous les autres boutons commencent. J'ai donc plusieurs boutons pour démarrer un compteur quand un seul est pressé. Je sais qu'il existe de nombreuses applications lol pour cela, mais je veux pratiquer sur le codage android: P Je sais que le problème est sur la méthode onTick. Mais je ne sais pas comment appeler plusieurs méthodes onTick pour chaque bouton, ou si j'ai des instructions/switch dans le onTick. Quelqu'un sait comment puis-je faire cela?Démarrer différents boutons temporisateurs dans android
Merci u pour votre temps
public class TimersActivity extends Activity {
Button wraith, wolf, golem, blue_golem, red_golem, enemy_wraith, enemy_wolf, enemy_golem, enemy_blue_golem, enemy_red_golem, dragon, baron;
final MyCounter wraithTimer = new MyCounter(50000,100, wraith);
final MyCounter enemy_wraithTimer = new MyCounter(50000,100, wolf);
final MyCounter wolfTimer = new MyCounter(60000,100, null);
final MyCounter enemy_wolfTimer = new MyCounter(60000,100, null);
final MyCounter golemTimer = new MyCounter(60000,100, null);
final MyCounter enemy_golemTimer = new MyCounter(60000,100, null);
final MyCounter blue_golemTimer = new MyCounter(300000,100, null);
final MyCounter enemy_blue_golemTimer = new MyCounter(300000,100, null);
final MyCounter red_golemTimer = new MyCounter(300000,100, null);
final MyCounter enemy_red_golemTimer = new MyCounter(300000,100, null);
final MyCounter dragonTimer = new MyCounter(360000,100, null);
final MyCounter baronTimer = new MyCounter(420000,100, null);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timers);
wraith = (Button)findViewById(R.id.wraiths);
wolf = (Button)findViewById(R.id.wolfs);
golem = (Button)findViewById(R.id.golems);
blue_golem = (Button)findViewById(R.id.blue_golem);
red_golem = (Button)findViewById(R.id.redbuff_creep);
enemy_wraith = (Button)findViewById(R.id.enemy_wraiths);
enemy_wolf = (Button)findViewById(R.id.enemy_wolfs);
enemy_golem = (Button)findViewById(R.id.enemy_golems);
enemy_blue_golem = (Button)findViewById(R.id.enemy_blue_golem);
enemy_red_golem = (Button)findViewById(R.id.enemy_redbuff_creep);
dragon = (Button)findViewById(R.id.dragon);
baron = (Button)findViewById(R.id.baron);
wraith.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
wraithTimer.start();
}
});
}
public enum buttons{wraith,wolf};
public class MyCounter extends CountDownTimer{
public MyCounter(long millisInFuture, long countDownInterval, Button nam) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
wraith.setText("DONE");
}
public void onTick(long millisUntilFinished, buttons names) {
switch(names){
case wraith:
wraith.setText((millisUntilFinished/1000)+"");
break;
case wolf:
wolf.setText((millisUntilFinished/1000)+"");
break;
}
}
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
}
}
}
modifier Ill sur mon codage initial dans mon top après la façon dont ma classe est maintenant . J'ai des erreurs sur la classe MyCounter. Les solutions eclipse me donnent est de faire une autre méthode onTick sans les boutons dans les paramètres. Et l'autre solution est de rendre la classe abstraite. Les deux solutions me donnent plus d'erreurs. – lantonis
Fonctionne comme un charme m8 :) merci beaucoup. vraiment apprécié :) – lantonis
@lantonis n'oubliez pas de marquer une réponse si la question est répondue :). – Destrictor