Я пытаюсь иметь счетчик (считать секунды и минуты) и обновлять его на дисплее каждую секунду.
У меня есть этот код в onCreate
моего класса, который расширяет Activity
:
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()
. Кто-нибудь знает решение?