Java 倒计时-单击运行一个函数
我有一个倒计时,我想点击onTick,它每秒钟都会重新启动我的活动,我想让它只启动我的第二个活动一次,我该怎么做 另外,我想将startActivity()保持在onTick内 代码:Java 倒计时-单击运行一个函数,java,android,android-intent,Java,Android,Android Intent,我有一个倒计时,我想点击onTick,它每秒钟都会重新启动我的活动,我想让它只启动我的第二个活动一次,我该怎么做 另外,我想将startActivity()保持在onTick内 代码: 创建一个布尔变量launchSecondActivity,并将其设置为方便值,然后您说应该只启动一次 public void onTick(long millisUntilFinished) { long millis = millisUntilFinished; //Convert milliseconds
创建一个布尔变量
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);
}
}
您不想在每次勾选时都开始
活动
,但希望继续在onTick()内调用startActivity()
。这有什么意义?我希望它在可能的情况下调用startActivity()?您需要问自己的问题是,您希望第二个活动何时开始?您是否尝试在启动活动之前等待几毫秒?如果是这样的话,请忘记计时器的内容,只需将创建Intent和startActivity调用的代码包装在处理程序上的Runnable和postDelayed中。它告诉我launchSecondActivity的值集从未使用过?虽然技术上正确,但我认为这并不能解决@Kardio真正想要做的事情。它只是验证了一种在延迟后启动活动的糟糕方式。
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);
}
}