私は断片を持っています。このフラグメントには、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 がすべての作業を確実に停止する方法。
ありがとう :)