我有一个Fragment
,其中我使用了Handler
,每隔60秒发送一次请求。这工作正常,直到我在同一个Fragment
。
但是,当我重定向到其他Activity
中的其他Fragment
或Activity
时,相同的Handler
也在那里工作,我想要Handler
来仅适用于Fragment
,并希望在我使用其他Activity
或Fragment
时将其删除。
我还在该片段的handler.removeCallbacks(runnableCode);
函数上使用了onDetach
。
如果你有任何想法,请帮助我,非常感谢你。
答案 0 :(得分:4)
您不应在removeCallbacks
致电onDetach
。您的Fragment
可以隐身但仍未被销毁(暂停)。请注意onDetach
之后调用onDestroy
。根据文件:
当片段不再附加到其活动时调用。这个 在{@link #onDestroy()}之后调用。
使用removeCallbacks
代替onPause
。
如果您想了解更多信息,请添加您的代码,我们会看到它无效的原因(但在将呼叫更改为removeCallbacks
后)