我想知道在计时器运行时是否可以增加秒,小时或分钟。目前,我已在我的应用feedAdapter中实现了此答案。我还在CountDownTimer中使用了这种增量函数,它确实很有效!但是只有当你暂停它然后再次恢复它时(让我们不去)。所有的处理程序和功能都在这个链接的答案中!
我在适配器中有2个按钮:1:启动计时器2:我希望此按钮增加秒或分钟等等。非常感谢任何通过的帮助!
How to handle multiple countdown timers in ListView?
public void incrementExpirationTime () {
int defaultIncrementValue = 10000; //lets say ten seconds (this can also be a long data)
long productExpiryTime = getProductExpiryTime();
productExpiryTime+=defaultIncrementValue;
}
我也将此private long productExpiryTime;
作为一个实例,但这也没有帮助。
答案 0 :(得分:0)
你可以修补它以使它变得更好。 这就是我如何做到你认为有用的东西让我知道如果你有一个问题。
private final int INCREMENT = 10;
private final int ONE_SECOND = 1;
private boolean running = false;
private int time = 100;
public void initialize() {
final Button start = findViewById(R.id.start);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
running = !running;
if (running)
updateButton(start);
}
});
final Button increment = findViewById(R.id.increment);
increment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (running)
time += INCREMENT;
}
});
}
private void updateButton(final Button start) {
start.postDelayed(new Runnable() {
@Override
public void run() {
time--;
start.setText(String.valueOf(time));
if (time == 0) {
Toast.makeText(getApplicationContext(), "time is up!", Toast.LENGTH_SHORT).show();
running = false;
} else {
if (running) {
updateButton(start);
}
}
}
}, ONE_SECOND);
}