我有這樣的代碼來創建CountdownTimer:從另一個活動重新啓動CountDownTimer
CountDownTimer CountdownTimer = new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
txttime.setText(millisUntilFinished/1000);
}
public void onFinish(){
timeout_stage();
}
}。開始();
它工作正常,我可以取消並完美啓動,但我想從其他活動重新啓動它。在主窗體中,我將它打開,一個活動打開,就像一個有「再次」按鈕的對話框。當我點擊那個,我想CountDownTimer.start();叫我的計數器再次重新啓動...
我怎麼能做到這一點?
我這樣做的第二個活動:
MainActivity main = new MainActivity();
main.CountdownTimer.start();
,但我得到這個錯誤:
04-28 11:42:40.495: E/AndroidRuntime(17039): FATAL EXCEPTION: main
04-28 11:42:40.495: E/AndroidRuntime(17039): java.lang.NullPointerException
04-28 11:42:40.495: E/AndroidRuntime(17039): at com.english.game.MainActivity$1.onTick(MainActivity.java:70)
04-28 11:42:40.495: E/AndroidRuntime(17039): at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:124)
04-28 11:42:40.495: E/AndroidRuntime(17039): at android.os.Handler.dispatchMessage(Handler.java:99)
04-28 11:42:40.495: E/AndroidRuntime(17039): at android.os.Looper.loop(Looper.java:137)
04-28 11:42:40.495: E/AndroidRuntime(17039): at android.app.ActivityThread.main(ActivityThread.java:5041)
04-28 11:42:40.495: E/AndroidRuntime(17039): at java.lang.reflect.Method.invokeNative(Native Method)
04-28 11:42:40.495: E/AndroidRuntime(17039): at java.lang.reflect.Method.invoke(Method.java:511)
04-28 11:42:40.495: E/AndroidRuntime(17039): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-28 11:42:40.495: E/AndroidRuntime(17039): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-28 11:42:40.495: E/AndroidRuntime(17039): at dalvik.system.NativeStart.main(Native Method)
你在'onTick'的'MainActivity'的第70行得到'NullPointerException'那一行是什麼? – thepoosh 2013-04-28 07:36:30
this:txttime.setText(millisUntilFinished/1000); – Fcoder 2013-04-28 07:37:48
但是,當我在同一活動中調用它時,它的功能完美 – Fcoder 2013-04-28 07:38:21