我有一个片段。在这个片段中,我有一个定期运行 timertask 的 Timer。我重写onPause
了,所以当切换片段时,TimerTask 和计时器将停止它的工作。
@Override
public void onPause() {
super.onPause();
timerTask.cancel();
timer.cancel();
timer.purge();
}
这是我切换片段的代码:
OrderFragment fragment2 = new OrderFragment();
fragment2.setArguments(arguments);
getSupportFragmentManager().beginTransaction().replace(R.id.item_detail_container, fragment2).commit();
但是当我切换不同的片段时,我经常收到Null Point Exception
因为 TimerTask 无法访问 UI Thread 了(因为我已经使用过runOnUIThread
)
所以,我的问题是:如何确保 Timer 和 TimerTask 在我可以更改片段之前停止所有工作。
谢谢 :)