我想要一個計數器(計數秒和分鐘)並在顯示屏上每秒更新一次。Android:修改一個定時器中的XML元素
我有我的類,它擴展Activity
的onCreate
此代碼:
timeOnCall = (TextView) findViewById(R.id.time);
minutes = seconds = 0;
timeOnCall.setText(minutes + ":" + seconds);
// Implements the timer
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
++seconds;
if (seconds == 60) {
seconds = 0;
++minutes;
}
// Display the new time
timeOnCall.setText(minutes + ":" + seconds);
}
}, 1000, 1000);
不幸的是,我得到以下錯誤:
android.view.ViewRoot$CalledFromWrongThreadException:
只有創建視圖層次原來thread
可以觸摸其觀點。
我不知道如何解決這個問題,因爲它已經在onCreate()
方法中。有誰知道解決方案?
謝謝。我不知道該怎麼做,請給我一個教程或例子嗎?這會有很大的幫助。謝謝! – James 2010-12-04 01:21:37
那麼它是「新的TimerTask」應該是一個新的線程,它可以執行.setText()嗎? – James 2010-12-04 01:23:40
我確實將整個代碼放入了我創建的新線程的運行方法中。那仍然崩潰。 – James 2010-12-04 01:29:21