我有 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);
}
答案 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);
}
}