請檢查我的答案。它爲我工作很好。希望它對你有幫助。請嘗試讓我知道。由於
activity_main.xml中:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:background="#0090FF"
android:padding="10dp"
android:keepScreenOn="true" >
<TextView
android:id="@+id/txtCountDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:textColor="#fff" />
</RelativeLayout>
MainActivity.java:
import android.os.Bundle;
import android.os.CountDownTimer;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private static TextView txtCountDown;
private static CountDownTimer countDownTimer = null;
private static final long startTime = 120 * 1000;
private static final long interval = 1 * 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtCountDown = (TextView) findViewById(R.id.txtCountDown);
countDownTimer = new MyCountDownTimer(startTime, interval);
if(txtCountDown!=null){
txtCountDown.setText(String.valueOf(startTime/1000));
}
countDownTimer.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
if(txtCountDown!=null){
txtCountDown.setText("Time's up!");
}
}
@Override
public void onTick(long millisUntilFinished) {
if(txtCountDown!=null){
txtCountDown.setText("" + millisUntilFinished/1000);
}
}
}
}
我試過了,一切正常。但是,當倒數一秒鐘時,需要更多的時間來結束活動。看起來它增加了一秒鐘。你也有同樣的問題嗎? – EM10