的Android强制退出CountDownTimer /吐司
问题描述:
所以我有这样的“黑客”有一个敬酒持续时间长一点:的Android强制退出CountDownTimer /吐司
// Toast...
zanimivosti = new Toast(getApplicationContext());
zanimivosti.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
zanimivosti.setView(layout);
new CountDownTimer(4000, 1000) {
public void onTick(long millisUntilFinished) {
zanimivosti.show();
}
public void onFinish() {
zanimivosti.show();
}
}.start();
问题:当用户转到另一个意图,它可以发生在祝酒收割机再次以新的意图。 在我的情况CountDownTimer.cancel();将无法正常工作
替代方案: 在我的祝酒词中,每当用户午餐时都会显示新闻。我还会考虑一个更好的解决方案,当用户点击它消失或者新的意图被调用时也会消失。 我应该使用弹出式对话框吗?当用户点击它时,我可以让它消失吗?
答
最后我做到了这样的:
Toast zanimivosti;
int cas = 4000;
int perioda = 1000;
boolean boolean_toast = true;
CountDownTimer timer;
timer = new CountDownTimer(time, perioda) {
public void onTick(long millisUntilFinished) {
zanimivosti.show();
}
public void onFinish() {
if (boolean_toast == true) {
zanimivosti.show();
} else {
}
}
}.start();
并与回采停止/取消对所有可能的事情计时器:
boolean_toast = false;
time = 0;
perioda = 0;
timer.cancel();
zanimivosti.cancel();
为什么不使用普通的对话?您可以通过单击按钮或单击另外来取消它,并且消息保留在屏幕上。 – Opiatefuchs 2014-10-17 14:10:10
因为如果有一个对话框,你有第一个在去另一个活动之前解雇它,例如.. 而对话框前面将自己置于注意的中心.. – DJack 2014-10-20 10:52:49
不完全...你可以把它放在DialogInterface .OnClickListener启动新的活动并使用dialog.cancel()关闭对话框; – Opiatefuchs 2014-10-20 10:54:39