【发布时间】:2015-08-23 14:48:15
【问题描述】:
我有一个关于从构造函数更改值的主要问题
这是一个手电筒应用。它将连接到站点以检查间隔值(例如 500 毫秒),并将每 2 秒将其存储到名为 frum_timer 的变量中。
这是一个对象。 (如果有新值,它也会更新一个布尔值)
FlashActivity = new CountDownTimer(40000, frum_timer) {
@Override
public void onTick(long millisUntilFinished) {
stats_of_run = true;
if (bool) {
final_form.setText("\\Flash ON//");
// CAMERA INSTRUCTIONS FOR OPENING FLASH
bool = false;
frumtimer_stats.setText("Speed:" + frum_timer);
} else {
stats_of_run = true;
final_form.setText("->Flash OFF-<");
// CAMERA INSTRUCTIONS FOR CLOSING FLASH
bool = true;
}
}
@Override
public void onFinish() {
}
}.start();
我创建了另一个 CountDownTimer 对象,刷新率为 200 秒,以确保 FlashActivity 对象中的 frum_timer 会发生变化。
并使用它
frumtimer_stats.setText("Speed:" + frum_timer);
在 FlashActivity 中用于显示变量。
但是,在变量 frum_timer 更改后,FlashLight 会以同样的速度一次又一次地运行,即使 a 做了一个 FlashActivity.cancel() 后跟 FlashActivity.start()
谁能帮帮我?
完整的代码链接: https://mycodestock.com/public/snippet/14395
总结: 1.您启动应用程序。 2.刷新倒计时2秒开始 3.当有frum_timer时FlashActivity会启动。 2 秒后,如果 frum_timer 上存储了另一个值,则实际的 FlashActivity 将被取消并开始一个新的。 4.问题是新的 FlashActivity 启动但 old frum_timer
【问题讨论】:
标签: java android timer countdown flashlight