除了 Activity 类之外,我如何访问 getResources() 和 Context?

发布于 2024-12-29 12:13:58 字数 298 浏览 1 评论 0原文

我知道这个问题很普遍,但我总是面对这个问题。 我的问题是我可以在 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 技术交流群。

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

发布评论

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

评论(3

冰雪梦之恋 2025-01-05 12:13:58

我通常按​​以下方式执行此操作:

  • 创建一个扩展 Application 的类,例如 MyApp
  • 声明一个 private static Context context 字段
  • context 字段声明一个(静态)getter
  • onCreate() 中初始化该字段: context = this

现在上下文可通过 MyApp.context() 在所有应用程序中使用

I usually do it the following way:

  • Create a class that extends Application, say MyApp.
  • Declare a private static Context context field
  • Declare a (static) getter for the context field
  • Initialize the field in onCreate(): context = this

Now context is available across all application via MyApp.context()

我很坚强 2025-01-05 12:13:58

ItemizedOverlay 未扩展 android.content.Context

您可以创建类似的构造函数

private Context mContext;    
public MapOverlay(Context context){
this.mContext=context;
}

,然后使用 mContext 字段调用 getResource()getContext() 方法。

ItemizedOverlay in not extending android.content.Context.

You can create the construcor like

private Context mContext;    
public MapOverlay(Context context){
this.mContext=context;
}

and then use the mContext field to call getResource() or getContext() methods.

锦欢 2025-01-05 12:13:58

只需在 MapOverlay 中公开一个带有 Context 的公共方法即可。

  public void setContext(Context context) {
        mContext = context;
}

Just expose a public method inside your MapOverlay that takes a Context.

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