是否可以假定活动中的所有视图都具有相同的上下文?

发布于 2024-12-10 15:09:43 字数 211 浏览 1 评论 0原文

我注意到 android 中的视图有时 getContext() 返回包含的活动,而其他时候它返回应用程序。

为了清理挂起的远程图像加载(我通过外部加载管理器类加载),我可以安全地假设特定活动上的所有视图将共享相同的上下文吗?我正在考虑将活动对象传递给清理并删除具有与该活动匹配的上下文的所有视图。我确信这将取决于与视图创建方式有关的一些事情,只是想知道这些是什么。

I have noticed with Views in android that sometimes getContext() returns the containing activity, whilst other times it returns the application.

For the purposes of cleaning up pending remote image loads (which I am loading via an external load manager class), can I safely assume that all views on a particular Activity will share the same context? I was thinking of passing the activity object to cleanup and removing all views with a context matching that activity. I am sure it will depend on a few things to do with the way the views were created, just wondering what those are.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

兮颜 2024-12-17 15:09:43

这在我的测试中实际上非常有效。本质上,传递给布局充气器或视图构造函数的上下文将是视图整个生命周期的上下文(有意义)。这些不匹配的唯一情况是,如果您使用不同的上下文(例如应用程序上下文)来膨胀布局的某些部分...通过活动的 setContentView() 膨胀的视图的上下文将把 Activity 设置为它们的活动。

This actually works very well in my testing. Essentially the Context passed to the layout inflater or view constructor will be the context of the view throughout its lifetime (makes sense). The only time these will mismatch is if you use different contexts (such as the application context) to inflate some parts of your layout... the context for views inflated via the activity's setContentView() will have the Activity set as theirs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文