使用这种方法我可以在我想要的动作中设置延迟:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 5 seconds
}
}, 5000);
有没有办法在吐司中显示这5秒的倒计时?感谢
答案 0 :(得分:3)
如果你的意思是他们堆积起来导致延迟,那么你应该在显示一个新的吐司之前取消之前的吐司。
如果你想要一些更有趣的东西,你可以尝试使用PopupWindow来显示倒计时,那么你有更多的布局等自由。
http://developer.android.com/reference/android/widget/PopupWindow.html
这是其他人的答案:https://stackoverflow.com/a/15174370/2767703
示例:
Toast toast = Toast.makeText(this, "10", Toast.LENGTH_SHORT);
toast.show();
new CountDownTimer(10000, 1000) {
public void onTick(long m) {
long sec = m/1000+1;
toast.cancel();
toast.setText("" + sec);
toast.show();
}
public void onFinish() {
// Finished
}
}.start();
答案 1 :(得分:1)
是,请执行以下操作
new CountDownTimer(30000,1000){
public void onTick(long millisUntilFinished) {
Log.i("seconds remaining: " ,""+ millisUntilFinished / 1000);
}
public void onFinish() {
Log.i("Timer Finished");
}
}开始();