Voici le lien où j'ai discuté au sujet d'un compte à rebours format (mm: ss) en Java:Compte à rebours requis sur Android
Java console code for StopWatch/Timer?
Maintenant, je veux afficher (et mise à jour) en un textview dans android. Une idée?
Voici le lien où j'ai discuté au sujet d'un compte à rebours format (mm: ss) en Java:Compte à rebours requis sur Android
Java console code for StopWatch/Timer?
Maintenant, je veux afficher (et mise à jour) en un textview dans android. Une idée?
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.
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
}
}
Utilisez la méthode d'une mise à jour chronométré de l'interface utilisateur dans cet article, il fonctionne vraiment super
http://developer.android.com/resources/articles/timed-ui-updates.html
En outre, vous pouvez utiliser le haut en classe de temps android pour afficher votre texte, il vous rendra le formatage beaucoup plus facile imo
http://developer.android.com/reference/android/text/format/Time.html
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);
}
Je vous remercie. –
Est-ce que ça ne compte * pas *? – Justin
oui, cela va compter, mon erreur, mais il semble que Maxood ne me dérange pas :) J'ai mis à jour la réponse. – Maragues