2010-08-18 6 views

Répondre

12

de décompter

Vous allez utiliser un champ de texte et mettre à jour son contenu à l'aide CountDownTimer, ou vérifier la réponse de Rahul dans cette même question.

Pour compter jusqu'à

Dans votre activité

import android.widget.Chronometer; 

... 

private Chronometer crono; 

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

setContentView(R.layout.screen_crono);  

this.crono = (Chronometer) findViewById(R.id.calling_crono); 

    startCrono(); 
} 

public void startCrono() { 
crono.setBase(SystemClock.elapsedRealtime()); 
crono.start(); 
} 

Pour l'arrêter

crono.stop(); 

Dans la mise en page XML screen_crono

<Chronometer 
    android:id="@+id/calling_crono" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
    android:textStyle="bold" 
android:textSize="14sp"/> 

Pour le placer dans un TextView, je ne pense pas que ce soit possible. Placez-le à sa droite ou à sa gauche, selon ce que vous voulez.

Si ce n'est pas ce que vous vouliez, j'espère que cela aidera quelqu'un d'autre.

+0

Je vous remercie. –

+0

Est-ce que ça ne compte * pas *? – Justin

+0

oui, cela va compter, mon erreur, mais il semble que Maxood ne me dérange pas :) J'ai mis à jour la réponse. – Maragues

7

Vous pouvez également utiliser la classe CountDownTimer disponible dans android.

Juste un constructeur et déclare commencer la minuterie avec

timer test=new timer(30000,1000); 

onTick va me faire virer une fois tous les 1000ms dans le cas ci-dessus. Vous pouvez mettre à jour votre TextView d'ici

class timer extends CountDownTimer 
{ 

public timer(long millisInFuture, long countDownInterval) 
    { 
    super(millisInFuture, countDownInterval); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onFinish() 
    { 


} 

@Override 
public void onTick(long millisUntilFinished) 
    { 
    // TODO Auto-generated method stub 
      // Update your textview on on tick 

} 

} 
0

essayer ce code .....

tv = new TextView(this); 
    this.setContentView(tv); 

//10000 is the starting number (in milliseconds) 
//1000 is the number to count down each time (in milliseconds) 
MyCount counter = new MyCount(10000,1000); 

counter.start(); 

} 

//countdowntimer is an abstract class, so extend it and fill in methods 
public class MyCount extends CountDownTimer 
{ 

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

public void onFinish() 
{ 
tv.setText("Time Up!"); 
} 

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

}