私の Android アプリケーションには、経過時間を測定するタイマーがあります。100 ミリ秒ごとに、「スコア: 10 時間: 100.10 秒」のようなテキストで TextView を更新します。しかし、TextView は最初の数回しか更新されないことがわかりました。アプリケーションは依然として応答性が高いですが、ラベルは更新されません。.invalidate() を呼び出そうとしましたが、まだ機能しません。これを修正する方法があるかどうか、または使用するより良いウィジェットがあるかどうかはわかりません。
これが私のコードの例です:
float seconds;
java.util.Timer gametimer;
void updatecount() { TextView t = (TextView)findViewById(R.id.topscore);
t.setText("Score: 10 - Time: "+seconds+" seconds");
t.postInvalidate();
}
public void onCreate(Bundle sis) {
... Load the UI, etc...
gametimer.schedule(new TimerTask() { public void run() {
seconds+=0.1; updatecount();
} }, 100, 100);
}