Android上需要倒数计时器

Muh*_*man 2 android

以下是我在Java中讨论过格式(mm:ss)的倒数计时器的链接:

StopWatch/Timer的Java控制台代码?

现在我想在android的textview中显示(并更新)它.任何线索?

Mar*_*ues 12

倒计时

您将使用TextField并使用CountDownTimer更新其内容,或者在同一问题中检查Rahul的答案.

要数数

在你的活动中

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();
}
Run Code Online (Sandbox Code Playgroud)

阻止它

crono.stop();
Run Code Online (Sandbox Code Playgroud)

在XML Layout screen_crono中

<Chronometer
    android:id="@+id/calling_crono"
 android:layout_height="wrap_content" 
 android:layout_width="wrap_content" 
    android:textStyle="bold"
 android:textSize="14sp"/>
Run Code Online (Sandbox Code Playgroud)

要在TextView中设置它,我认为这是不可能的.根据您的需要,将其放在右侧或左侧.

如果这不是你想要的,我希望它可以帮助别人.


DeR*_*gan 7

您还可以使用android中提供的CountDownTimer类.

只需声明一个构造函数并启动计时器

timer test=new timer(30000,1000);
Run Code Online (Sandbox Code Playgroud)

在上述情况下,onTick将在每1000毫秒内被触发一次.您可以从此处更新TextView

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

 }

 }
Run Code Online (Sandbox Code Playgroud)