目前我正在處理一個自定義的CountDownTimer,它接受用戶輸入到EditText視圖,然後倒計時(分鐘和秒)爲0.達到0後,AlertDialog/Notification應該運行。然而,出於某種原因,我似乎無法讓我的活動開展工作。我查看了不同網站上的幾個示例,我似乎無法弄清楚這個問題。如何運行自定義CountDownTimer?
這裏是我的活動(Java)的代碼:http://pastebin.com/mbFaMRdM
這裏是XML:http://pastebin.com/X3yxKFPT
此外,有沒有實行某種反向天文臺表(作爲可視化的方式對於計時器,就像在Android應用程序中一樣)?而不是隻顯示隨秒數和分鐘倒數而更新的文本。
編輯:
我能夠從我的應用程序的主要活動進入活動。雖然,當我在兩個EditText視圖中輸入值(一個EditText中的分鐘數,另一箇中的秒數),然後按下開始按鈕時,沒有任何反應。我認爲,問題出在我的代碼這一部分:
public class setSelfTimeActivity extends MainActivity {
long mStartTime;
int mId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.set_timer_activity);
}
public void createTimer() {
Button startButton = (Button) findViewById(R.id.start_button);
startButton.setOnClickListener(new OnClickListener() {
final EditText intervalTxt = (EditText) findViewById(R.id.timer_minutes);
final EditText countDownTxt = (EditText) findViewById(R.id.timer_seconds);
int time = Integer.parseInt(intervalTxt.getText().toString()) * 1000;
@Override
public void onClick(View v) {
new CountDownTimer(time, 1000) {
public void onTick(final long millisUntilFinished) {
countDownTxt.setText("CountDown:" + millisUntilFinished/1000);
}
@Override
public void onFinish() {
Intent i = new Intent(setSelfTimeActivity.this,
PopUpActivity.class);
startActivity(i);
}
}.start();
您需要進行一些初步的調試,以便您可以在此發佈**最相關的**代碼,並查看哪些內容未被調用。 – codeMagic 2014-11-21 19:32:07
@codeMagic好的。編輯 – freddiev4 2014-11-21 19:33:09
好得多,謝謝!你可以先刪除'run/runOnUiThread',因爲這個方法已經在UI'Thread'上運行了。你似乎有'countDownTxt.setText(「CountDown:」+ millisUntilFinished/1000)'' – codeMagic 2014-11-21 19:36:07