2012-10-18 55 views
0

我有我自己的类叫做TimerControl延伸android.view.View。在TimerControl里,我产生了一个应该继续工作的工作线程,所以当View是其中一部分的Activity仍然活着时。 (即onStop尚未在父活动中调用)我不想编写逻辑来终止Activity类中的线程,因为我希望View能像其他视图一样工作,因为您不必管理类似于活动。 如何确定视图的父级活动是否已被销毁?(自定义视图本身)自定义视图终止我自己的工作线程

回答

1

您添加了一个回调,通过该回调您可以让View知道父Activity已调用onPause(),并且视图也应进入“暂停”模式。

活动获取onResume()回调时取消暂停它。

+0

很酷......我想......你可以通过视图添加回调,所以自定义视图的程序用户仍然可以使用我的自定义视图进行编程,而无需管理添加回调吗? – Matthew

+0

当然你可以在你的View中有一个公共的静态void callThisOnPause()方法。 – Shark

+0

另外,视图可能应该在其可见性为View.GONE时停止,因此您可能也想重载onVisibilityChanged()。 – Shark