gpt4 book ai didi

android - 在 Android 中手动设置上下文

转载 作者:搜寻专家 更新时间:2023-11-01 07:42:16 26 4
gpt4 key购买 nike

我是 Android 开发的新手,我对 Context 进行了研究。我明白它是什么以及为什么有用。但是我看到 android 在 Activity 中为我处理上下文,例如,我必须扩展一个从上下文继承的类,仅此而已。但是在某些情况下,我必须手动为事物添加上下文。例如,当从 kotlin 创建一个新的 View 实例时。我必须将上下文传递给 View 构造函数,例如:Button(this)

为什么我必须明确地告诉 View 实例它是 Activity 的一部分?

毕竟我是在 Activity 中定义它。

我知道上下文就像我的应用程序与外部资源和系统工具之间的桥梁,但手动设置它有时会让我感到困惑。

最佳答案

是的,从理论上讲,这只能在将 View 附加到父级时才能完成,然后如果父级附加到 Activity 根,则它具有上下文,否则 - 在附加 View 时,Android 可以超越它的后代并设置他们的上下文。

但是:

  1. 实现起来不方便。很容易拥有自主视图,每个 View 都已设置为其上下文。
  2. 上下文中有一些东西是操作 View 所必需的。例如。约束系统、指标……许多位和 bolt 。 View 还可以监听事件,并且可以提供一些在附加到另一个 View 之前需要上下文的服务。
  3. 如果您有多个上下文怎么办。您希望能够选择要引用的上下文。比如说,您有一个永远在线的 float 按钮,该按钮由某些服务管理,而 View 则由该 Activity 管理。

强烈建议查看 Android 源代码。您会在里面发现很酷的事实,这是一种极好的学习方式。

关于android - 在 Android 中手动设置上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com