ゲームを作成しようとしている私の友人と私は、プレーヤーを得点する方法としてタイマーを使用したいので、ゲームの開始時に0から開始し、終了すると停止する画面上のタイマーを表示したいゲーム。Androidアプリケーションのスクリーンタイマーで?
私は、HandroidとRunnableオブジェクトを使用して、私が望むように動作させるために、他の記事とandroid devウェブサイトを見てきましたが、今のところrun()
メソッドがRunnableオブジェクトの内部にあります完全にスキップされているので、何も行われていません。今、私は私たちの活動ののonCreateメソッドの内部で、次のいる:run()
方法は完全にスキップされている理由今、最初のオフ
mHandler = new Handler();
mStartTime = System.currentTimeMillis();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
mUpdateTimeTask = new Runnable()
{
public void run()
{
final long start = mStartTime;
long millis = SystemClock.uptimeMillis() - start;
int seconds = (int) (millis/1000);
seconds = seconds % 60;
mHandler.postAtTime(this,
(start + seconds + 1) * 1000);
elapsed.setText(seconds);
}
};
、誰も私を伝えることができますか?また、これは私たちがやろうとしていることのために働くでしょうか?あるいはRunnableオブジェクトを別の場所に置くべきですか?別のアプローチを使用しますか?これは初めてのタイマーで作業しているので、どんな助けもありがとうございます!
は、すべてのコードということです
mUpdateTimeTask = new Runnable()
割り当て後mHandler.postDelayed(mUpdateTimeTask, 100)
をコールする必要がありますか?あなたは実際にここでrunメソッドを呼び出すことはありません。あなたはmUpdateTimeTask.start()を呼び出す必要があります。 – ethanいいえ、postDelayed()はstart()を必要としません –