我需要一个30秒后重复加载来自Web服务数据的线程。 我想停止并启动线程onResume和onPause,以便它在屏幕处于活动状态时运行,并在活动暂停时禁用它。重启简历。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dataIfInternet(refreshTop);
}
}, 30000);
暂停活动时如何停止。
答案 0 :(得分:0)
你无法暂停处理程序,所以你需要在onPause
取消它并在onResume
所以你可能想要这样的东西:
private Handler myHandler = new Handler();
在onResume()
Runnable myRunnable = new Runnable()
{
@Override
public void run()
{
dataIfInternet(refreshTop);
}
};
myHandler.postDelayed(myRunnable, 30000);
并在onPause()
// Cancel the runnable
myHandler.removeCallbacks(myRunnable);
我希望这能解决你的问题