0

所以我想我是 Android 新手,对 android 上下文如何工作以及上下文中包含什么以及不包含什么感到困惑。我想知道我是否导入了一个带有在活动中实现 View.OnClickListener 的类的 java 文件,这是否算作上下文的一部分?此外,如果我有一个实现 View.OnClickListener 的名为 NewOnClick 的类,我可以使用 android:OnClick="NewOnClick" 还是仅适用于方法。我问的原因是我想编写将包含在几乎活动中的处理程序。

还有什么方法可以解释一个上下文到底做了什么很多其他的并没有真正解释它的用途,或者只是说它传递给其他小部件并管理资源,这真的不是很有描述性在我看来,如果无论如何你可以用与 GTK (gtkmm) 或 wxWidgets 合作过的人的方式向我解释它是有意义的。

4

2 回答 2

0

有一种简单的看待方式,即 Context 是应用程序、Activity、服务等的基类。因此,Activity 中的所有内容都继承自 Context。Android 中的 Context 是您当前正在执行的代码所在的环境,这意味着它可用的所有内容以及影响它的所有内容(至少,您可以访问)。

例如,在 Activity 中,“this”指的是当前 Activity,并且由于 this 继承自 Context,因此可以访问当前上下文中的所有内容以及 Activity 中定义的内容,例如本地字段、附加方法等。

看看这里的间接子类:

http://developer.android.com/reference/android/content/Context.html

注意。永远不要在派生类的生命周期之外公开上下文。例如,不要让任何生命周期大于其容器的对象挂在引用上。

http://android-developers.blogspot.co.uk/2009/01/avoiding-memory-leaks.html

希望这会有所帮助,而不是混淆。

于 2012-09-09T21:39:37.830 回答
0

从文档中,

上下文是:

与有关应用程序环境的全局信息的接口。[...] 它允许访问特定于应用程序的资源和类,以及向上调用应用程序级操作,例如启动活动、广播和接收意图等。

例如,如果您需要访问应用程序中的某些资源,例如显示图像、播放音频文件、设置自定义字体(图像、音频文件、字体 - 都是资源),您将需要上下文引用.
该类Activity继承自Context,这就是为什么您可能没有“感觉到”上下文,但实际上您在任何地方都使用它。

于 2012-09-09T21:40:05.280 回答