除了 Activity 类之外,我如何访问 getResources() 和 Context?
我知道这个问题很普遍,但我总是面对这个问题。 我的问题是我可以在 Activity
中访问 getResource()
或 getContext()
但当我想使用没有 Activity 的类时 例子: public class MapOverlay extends ItemizedOverlay
我无法访问 getResources()
或 Context
。
我怎样才能做到有人知道任何技巧?
I know this question is general but I am always face to face this problem.
My question is I can reach getResource()
or getContext()
in Activity
but when I want to use a class without activity
example:public class MapOverlay extends ItemizedOverlay
I can not reach getResources()
or Context
.
How can I do that anybody know any trick?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我通常按以下方式执行此操作:
Application
的类,例如MyApp
。private static Context context
字段context
字段声明一个(静态)getteronCreate() 中初始化该字段: context = this
现在上下文可通过
MyApp.context()
在所有应用程序中使用I usually do it the following way:
Application
, sayMyApp
.private static Context context
fieldcontext
fieldonCreate(): context = this
Now context is available across all application via
MyApp.context()
ItemizedOverlay 未扩展
android.content.Context
。您可以创建类似的构造函数
,然后使用
mContext
字段调用getResource()
或getContext()
方法。ItemizedOverlay in not extending
android.content.Context
.You can create the construcor like
and then use the
mContext
field to callgetResource()
orgetContext()
methods.只需在 MapOverlay 中公开一个带有 Context 的公共方法即可。
Just expose a public method inside your MapOverlay that takes a Context.