我使用postedDelayed方法来刷新我的Activity,效果很好。但问题是,即使我按下“后退”按钮,postdelayed 方法也会回调上一个 Activity 。
//Activity 延迟刷新后 30000 毫秒的处理程序
mHandler.postDelayed(new Runnable() {
public void run() {
dostuff();
}
}, 30000);
}
protected void dostuff() {
Intent intent = getIntent();
finish();startActivity(intent);
Toast.makeText(getApplicationContext(), "refreshed", Toast.LENGTH_LONG).show();
}
public void onBackPressed() {
super.onBackPressed();
finish();
mHandler.removeCallbacks(null);
}
protected void onStop() {
mHandler.removeCallbacks(null);
super.onStop();
}
最佳答案
您可以使用处理程序的 removeCallbacks(runnable)
方法来调用 postDelayed()
方法。例如,如果您使用:
mHandler.postDelayed(mRunnable, mTime)
刷新 Activity ,然后使用
mHandler.removeCallbacks(mRunnable)
在 Activity 的 onPause()
方法中。
关于android - 延迟后方法 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050807/