我尝试了多种方法来让单个持久计时器在多个活动中更新 ui,但似乎没有任何效果。我尝试过 AsyncTask、Handler 和 CountDownTimer。下面的代码不执行第一个 Log.i 语句......有没有更好的方法在 Main(这是唯一的持久类)中启动计时器(必须从另一个类调用)?
public static void MainLawTimer()
{
MainActivity.lawTimer = new CountDownTimer(MainActivity.timeLeft, 1000)
{
public void onTick(long millisUntilFinished)
{
Log.i("aaa","Timer running. Time left: "+MainActivity.timeLeft);
MainActivity.timeLeft--;
if(MainActivity.timeLeft<=0)
{
//do stuff
}
else
{
//call method in another class
}
}
public void onFinish()
{ }
}.start();
}
为了澄清我的问题:
当我运行代码时,日志中永远不会显示 Log.i("aaa","Timer running") 语句,并且 CountDownTimer 似乎永远不会启动。MainLawTimer 仅从另一个类调用(不在同一个类中。