친구들을 만들고 게임을 만들려고 노력하는 사람은 플레이어를 채점하는 방법으로 타이머를 사용하려고하므로 게임 시작시 0부터 시작하여 화면 타이머를 끝내면 끝내기를 원합니다. 게임.Android 애플리케이션의 화면 타이머에서?
나는 Android dev 웹 사이트에서 Handler와 Runnable 객체를 사용하여 원하는대로 작동하게 만들었지 만 지금 당장 Runnable 객체 내부에 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);
}
};
지금 첫째, 사람이 run()
방법이 완전히 생략하는 이유 말해 줄 수 : 바로 지금, 나는 우리의 활동의에서 onCreate 메소드 내에서 다음이? 또한 우리가하려는 일을 위해서도 효과가 있습니까? 또는 우리는 Runnable 객체를 다른 곳에서 가져야합니까? 다른 접근법을 사용합니까? 타이머로 작업 한 것은 이번이 처음 이었기 때문에 어떤 도움을 주셔서 감사합니다!
이 모든 코드인가요
mUpdateTimeTask = new Runnable()
할당 후mHandler.postDelayed(mUpdateTimeTask, 100)
를 호출 할 필요가? 실제로 여기서 run 메소드를 호출하지 않습니다. mUpdateTimeTask.start()를 호출해야합니다. – ethan아니요, postDelayed()는 start()가 필요하지 않습니다. –