我正在尝试创建一个仅在例如3秒后可点击的按钮。它应该显示倒计时,当达到0时,可以点击按钮并执行一个动作。 例如,当活动被调用时,按钮首先显示“3”并倒计数到“0”,然后才能点击按钮。按钮仅在X秒后可点击
任何想法如何实现这一目标?
我正在尝试创建一个仅在例如3秒后可点击的按钮。它应该显示倒计时,当达到0时,可以点击按钮并执行一个动作。 例如,当活动被调用时,按钮首先显示“3”并倒计数到“0”,然后才能点击按钮。按钮仅在X秒后可点击
任何想法如何实现这一目标?
你应该使用CountDownTimer
为:
timer = new CountDownTimer(3000, 1000) {
@Override public void onTick(long millisUntilFinished) {
button.setText("count down " + millisUntilFinished);
}
@Override public void onFinish() {
button.setOnClickListener(onClickListener);
}
};
下方某处:
timer.start()
要试一试,谢谢你的回复 不要忘记setText()方法的millisUntilFinished前的(int)强制转换! – user2410644
是的,如果你想打印倒计时字符串,你应该做一些像'button.setText(“count down”+ Math.floor(millisUntilFinished/1000));' – injecteer
button.setEnabled(false);
new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
button.setText("Wait for " + (millisUntilFinished/1000) + " seconds");
}
public void onFinish() {
button.setEnabled(true);
button.setText("Press me!");
}
}.start();
使用计数器第一和计数3秒,直到该组'点击= FALSE'到按钮, 3秒后将其设置为true。 – InnocentKiller
我需要为此构建一个线程,对吗?还是一个活动有一个实施的更新方法,可以计算秒? – user2410644