KD-*_*-21 8 java android back countdowntimer
当我按下BACK按钮(onBackPressed()调用)关闭我的应用程序时,CountDownTimer
不会停止,直到完成计数.我怎么能把CountDownTimer
cancel(); 在我onBackPressed()
?
因为,当我退出我的应用程序时(如下面的描述所示),我不再需要在我的屏幕上进行反击.
在我的代码之上:
boolean network_connected = false;
Run Code Online (Sandbox Code Playgroud)
什么在我的onCreate()
:
if (check_network.isInternetAvailable(this)) {
network_connected = true;
new connect_task_main().execute("");
} else {
network_connected = false;
}
if (network_connected == false) {
new CountDownTimer(11000, 1000) {
public void onTick(long millisUntilFinished) {
global.toast.setText("No Internet Connection!" + "\n" + "Automatic Refresh In: " + millisUntilFinished / 1000); //set text for toast
global.toast.show(); //show toast
}
public void onFinish() {
if (network_connected == false) {
global.cancel_toast(0); //stop all toasts
finish(); //quit activity
startActivity(new Intent(main_activity.this, main_activity.class)); //start activity
} else {
}
}
}.start(); //start the countdowntimer
} else {
network_connected = true;
}
Run Code Online (Sandbox Code Playgroud)
onBackPressed()
方法
@Override
public void onBackPressed() {
if (page_number > global.page_number_min) { //does not matter
page_number--; //does not matter
global.cancel_toast(0); //stop all toasts
network_connected = true;
finish();
} else {
global.cancel_toast(0);
network_connected = true;
finish(); //quit activity
super.onBackPressed(); //quit application
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
Apo*_*orv 12
创建一个CountDownTimer
例如的全局对象.
在main_activity类集之上:CountDownTimer timer;
之后执行以下操作.
timer = new CountDownTimer(11000, 1000)
{
public void onTick(long millisUntilFinished)
{
global.toast.setText("No Internet Connection!" + "\n" + "Automatic Refresh In: " + millisUntilFinished / 1000); //set text for toast
global.toast.show(); //show toast
}
public void onFinish()
{
if (network_connected == false)
{
global.cancel_toast(0); //stop all toasts
finish(); //quit activity
startActivity(new Intent(main_activity.this, main_activity.class)); //start activity
}
else
{
}
}
}.start(); //start the countdowntimer
}
Run Code Online (Sandbox Code Playgroud)
和onBackPressed
电话timer.cancel();
一样
@Override
public void onBackPressed()
{
if (page_number > global.page_number_min)
{ //does not matter
page_number--; //does not matter
global.cancel_toast(0); //stop all toasts
network_connected = true;
finish();
}
else
{
global.cancel_toast(0);
network_connected = true;
finish(); //quit activity
super.onBackPressed(); //quit application
}
timer.cancel();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14146 次 |
最近记录: |