CountDownTimer 变量
CountDownTimer variable
我有一个关于从构造函数更改值的主要问题
这是一款手电筒应用。它将连接到站点以检查间隔值(例如 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();
我制作了另一个刷新率为 200 秒的 CountDownTimer
对象,以确保 FlashActivity
对象中的 frum_timer
会发生变化。
并使用这个
frumtimer_stats.setText("Speed:" + frum_timer);
在 FlashActivity 中用于显示变量。
然而,在变量 frum_timer
更改后,FlashLight
会以相同的旧速度一次又一次地继续前进,即使在 FlashActivity.cancel()
后跟 FlashActivity.start()
有人可以帮我吗?
完整 link 代码:
https://mycodestock.com/public/snippet/14395
总结:
1.You 启动应用程序。
2.刷新倒计时2秒后开始
3. 当出现frum_timer时,FlashActivity就会启动。 2 秒后,如果 frum_timer 上存储了另一个值,实际的 FlashActivity 将被取消并启动一个新的。
4.The 问题是新的 FlashActivity 开始了,但是 old frum_timer
我用过:
public void startProgress(View view) {
// do something long
Runnable runnable = new Runnable() {
@Override
public void run() {
for (int i = 0; i <= 20; i++) {
final int value = i;
doFakeWork();
progress.post(new Runnable() {
@Override
public void run() {
// text.setText("Updating");
progress.setMax(20);
progress.setProgress(value);
}
});
}
}
};
new Thread(runnable).start();
}
private void doFakeWork() {
try {
Thread.sleep(800);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
我有一个关于从构造函数更改值的主要问题
这是一款手电筒应用。它将连接到站点以检查间隔值(例如 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();
我制作了另一个刷新率为 200 秒的 CountDownTimer
对象,以确保 FlashActivity
对象中的 frum_timer
会发生变化。
并使用这个
frumtimer_stats.setText("Speed:" + frum_timer);
在 FlashActivity 中用于显示变量。
然而,在变量 frum_timer
更改后,FlashLight
会以相同的旧速度一次又一次地继续前进,即使在 FlashActivity.cancel()
后跟 FlashActivity.start()
有人可以帮我吗?
完整 link 代码: https://mycodestock.com/public/snippet/14395
总结: 1.You 启动应用程序。 2.刷新倒计时2秒后开始 3. 当出现frum_timer时,FlashActivity就会启动。 2 秒后,如果 frum_timer 上存储了另一个值,实际的 FlashActivity 将被取消并启动一个新的。 4.The 问题是新的 FlashActivity 开始了,但是 old frum_timer
我用过:
public void startProgress(View view) {
// do something long
Runnable runnable = new Runnable() {
@Override
public void run() {
for (int i = 0; i <= 20; i++) {
final int value = i;
doFakeWork();
progress.post(new Runnable() {
@Override
public void run() {
// text.setText("Updating");
progress.setMax(20);
progress.setProgress(value);
}
});
}
}
};
new Thread(runnable).start();
}
private void doFakeWork() {
try {
Thread.sleep(800);
} catch (InterruptedException e) {
e.printStackTrace();
}
}