我想在活动被销毁时在视图中进行一些清理。当活动被销毁时,有没有办法在视图中获得回调?我尝试使用onDetachedFromWindow
,但我不确定这是否是正确的事情。如何检测视图的父级活动是否被破坏
7
A
回答
1
了解到onDestroy并不保证被调用,您可以在活动onDestroy方法中回调您的视图。
编辑回应评论: 您可以通过在布局中给它一个id并调用findViewById来获得任何视图。这里有一个例子:
Layout.xml(只显示了最低限度)
<LinearLayout>
<com.example.superwidget.DropDownTouchEnabledListView
android:id="@+id/special_list_view" />
</LinearLayout>
MyActivity.java(再次,裸最小的,假设适当进口)
@Override
void onDestroy() {
DownTouchEnabledListView v = (DownTouchEnabledListView)findViewById(R.id.special_list_view);
v.doCallback(with, parameters);
}
6
如果你想获得一个回调,而不必过载View.onDetachedFromWindow()
方法,您可以使用View.addOnAttachStateChangeListener()
方法,该方法将回调监听器作为单个参数。
+1
仅适用于API> 12 – 2015-01-28 16:52:43
相关问题
- 1. 如何检测图像路径是否被破坏?
- 2. Android - 告诉父母活动是否已被破坏
- 3. 活动被破坏?
- 4. 如何检测Bash中符号链接是否被破坏?
- 5. Android:检测视图的父活动是否暂停
- 6. FragmentTabHost“活动已被破坏”
- 7. 活动已被破坏FragmentTransaction.commit()
- 8. java.lang.IllegalStateException:活动已被破坏
- 9. 等待活动被破坏
- 10. 活动不被破坏
- 11. Rails如何自动检查链接是否被破坏?
- 12. 适配器上的检测项目视图已被破坏
- 13. 如何在其父活动被破坏时保持活动状态
- 14. 如何检测ViewController是否被激活?
- 15. jsonToRepJson是否被破坏?
- 16. 相机API调用破坏父活动
- 17. 破坏骨干视图是否会破坏它?
- 18. 拍照时被破坏的活动
- 19. Android的检查,如果这个活动是不是null /破坏
- 20. 如何在活动破坏视图时删除withEndAction runnable?
- 21. 错误java.lang.IllegalStateException:活动已被破坏
- 22. java.lang.IllegalStateException:活动已被破坏SlidingFragmentActivity
- 23. java.lang.IllegalStateException:活动已被破坏异常
- 24. 在活动被破坏后运行Bindservice
- 25. 活动已被破坏在fragmenttransaction.commit
- 26. 异常java.lang.IllegalStateException:活动已被破坏
- 27. ChildFragmentManager java.lang.IllegalStateException:活动已被破坏
- 28. IllegalStateException活动已被破坏错误android
- 29. Android FragmentTransaction commit() - 活动已被破坏
- 30. “活动已被破坏”与Robolectric
您能否详细说明一下。我的自定义视图类是单独包的一部分,此视图在布局xml中定义。因此,从活动类中调用某些视图是不可行的。 – bhups 2010-06-30 08:57:07
“因此,从活动类中调用某些视图是不可行的。”就是这样。调用'findViewById()',获取小部件,将其转换为适当的类,然后调用它。这就是说,'onDetachedFromWindow()'似乎是对我来说合理的选择。 – CommonsWare 2010-06-30 09:20:49
@CommonsWare你评论的速度比我可以编辑的更快。顺便说一句,谢谢你所做的所有工作。你的书/代码/答案对我来说是非常宝贵的。 – 2010-06-30 09:26:10