複数のアクティビティで 1 つの永続的なタイマーで 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 は別のクラスからのみ呼び出されます (同じクラス内ではありません。