CountDownTimer - 运行一个函数ontick

时间:2016-10-15 11:40:45

标签: java android android-intent

我有 CountDownTimer ,我有 onTick 的意图,它每秒都会重新启动我的活动,我想让它只启动我的第二个活动我怎么能这样做?

PS。我想将startActivity()保留在onTick

代码:

public void onTick(long millisUntilFinished) {

    long millis = millisUntilFinished;
    //Convert milliseconds into hour,minute and seconds
    String hms = String.format("Viberation end in: " + "%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
     myText.setText(hms);

    Intent toST = new Intent(MainActivity.this, ShowTime.class);

    startActivity(toST);
}

1 个答案:

答案 0 :(得分:1)

创建一个布尔变量launchSecondActivity并将其设置为您的便利值,然后您说它应该只启动一次..

public void onTick(long millisUntilFinished) {

long millis = millisUntilFinished;
//Convert milliseconds into hour,minute and seconds
String hms = String.format("Viberation end in: " + "%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
 myText.setText(hms);

Intent toST = new Intent(MainActivity.this, ShowTime.class);
    if(launchSecondActivity){
        launchSecondActivity=false;
        startActivity(toST);
    }

}