如何将上下文从 MainActivity 传递到 Android 中的另一个类?

2024-02-12

我在尝试将上下文从 MainActivity 类传递到另一个类时遇到问题。这是 ContextPasser 类。

public class ContextPasser extends Application{
public Context context;
public ContextPasser(){
    context = getApplicationContext();
}}

但是如果我在另一个类中使用上下文变量,如下所示:

Line line = new Line(new ContextPasser().context);

我收到空指针异常。我想要一个不涉及传递上下文变量的解决方案,因为我已经查看了所有其他 stackoverflows,它们似乎并没有帮助我。我发现的解决方案之一是:

Context context;
MyHelperClass(Context context){
this.context=context;
}

这对我没有帮助,因为我正在调用 Line 类,

Line line = new Line(new ContextPasser().context);

在另一个名为 GameRunner 的类中,如下所示:

public class GameRunner extends Activity {
Line line = new Line(new ContextPasser().context);
public void draw(Canvas canvas){
    line.draw(canvas);
    getWindow().getDecorView().setBackgroundColor(Color.BLACK);
}

public void update(){
    line.update();
}

}

因此,我想创建一个方法来传递 Context,而不接受 Context 类本身的参数。

请让我知道任何建议或答案。 我真的很感激。 非常感谢您的时间和考虑!


如果您的其他课程是非活动课程,这就是您通过考试的方式Context:

public class MyNonActivityClass{

// variable to hold context
private Context context;

//save the context received via constructor in a local variable

public MyNonActivityClass(Context context){
    this.context=context;
}

}

这就是传递上下文的方式:

MyNonActivityClass mClass = new MyNonActivityClass(this);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将上下文从 MainActivity 传递到 Android 中的另一个类? 的相关文章

随机推荐

  • Java8 中的 GroovyShell:内存泄漏/重复的类 [提供源代码 + 负载测试]

    我们有一个由 GroovyShell Groovy 脚本引起的内存泄漏 请参阅最后的 GroovyEvaluator 代码 主要问题是 从 MAT 分析器复制粘贴 类 java beans ThreadGroupContext 由 占用 8
  • 使用 sklearn 进行网格搜索的显式(预定义)验证集

    我有一个数据集 之前已分为 3 组 训练 验证和测试 这些集合必须按给定的方式使用 以便比较不同算法的性能 我现在想使用验证集优化 SVM 的参数 但是 我找不到如何将验证集显式输入到sklearn grid search GridSear
  • 防止 require(...) 在父目录中查找模块

    我的 Node 项目的根目录所在的目录本身就是另一个 Node 项目的根目录 所以两个文件夹都包含package json and node modules 问题是 在内部项目中 有时我require该项目中未安装模块 但 Node 只是默
  • NHibernate 过滤子集合延迟加载,即使指定了急切获取

    我试图找出为什么即使急切加载集合并且生成的 SQL 是正确的 也会在没有过滤的情况下返回子集合 类的流畅映射是 public class OptionIdentifierMap ClassMap
  • jstree问题

    我使用 XML 作为 JSTree 树的数据源 但我找不到任何示例 您可以在 XML 中将节点设置为超链接 或者在任何地方使用自己的图标设置自己的节点类型等 有人这样做过吗 有例子吗 我想你正在寻找jsTree 类型插件文档 http ww
  • SQL Server group by 吸收 null 和空值

    我有这个数据 Id Name amount Comments 1 n1 421762 Hello 2 n2 421 Bye 3 n2 262 null 4 n2 5127 每个名称可能有也可能没有带有空注释或空注释的额外行 如何按名称和总和
  • 如何使用 Cloudbees Jenkins 构建执行繁重任务

    我正在尝试在 Cloudbees 上构建并运行 Jenkins 我已经成功安装了 NodeJs 并从 BitBucket 存储库中提取了源代码 我正在尝试运行我的 grunt 任务来在部署之前缩小并连接我的 JS 和 CSS 文件 但是 即
  • 为什么 MouseEnter 和 MouseLeave 不可靠?

    根据this https stackoverflow com questions 12552809 问题 的answer https stackoverflow com questions 12552809 mousehover and m
  • Django 作为反向代理

    我的客户端 服务器应用程序主要基于特殊用途的http服务器 它以类似Ajax的方式与客户端进行通信 即 客户端 GUI 根据异步 http 请求 响应周期刷新 专用 http 服务器的可进化性是有限的 并且随着应用程序的增长 需要越来越多的
  • 虚函数和 boost 绑定奇怪的行为

    我在 Linux 下编写的一段代码中看到了一个奇怪的行为 我想分享它 看看是否有人知道其原因 我有一个基类和一个派生类 在基类中 我定义了一个虚拟方法 在派生类中 我使用相同的签名重新定义了该方法 然后我使用 boost bind 来启动一
  • Gremlin 找到最高匹配

    我计划使用图形数据库 AWS Neptune 可以使用 Gremlin 作为一种知识库进行查询 知识库将用作具有多个特征的实体的分类工具 为简单起见 我在本示例中使用几何形状来编码实体的属性 假设我想对与正方形 三角形和圆形相关的点进行分类
  • 什么是console.log?

    有什么用console log 请通过代码示例解释如何在 JavaScript 中使用它 它不是 jQuery 功能 而是用于调试目的的功能 例如 当发生某些情况时 您可以将某些内容记录到控制台 例如 someButton click fu
  • App Engine 上的前端实例小时数是如何计算的?

    我构建了一个简单的在线订购应用程序 它可能每周处理 25 小时 其中大部分是在周一和周二 查看仪表板 我看到 Billing Status Free Settings Quotas reset every 24 hours Next res
  • 访问嵌套对象时 Vue 发出警告

    我不知道为什么在访问嵌套对象时会收到 Vue 警告 user area name Vue warn 渲染错误 TypeError 无法读取未定义的属性 名称 类型错误 无法读取未定义的属性 名称 仅访问该对象没有任何警告 user name
  • ASP.NET MVC。如何使用 DisplayNameFor 创建表格标题和正文?

    如何使用获取属性显示名称DisplayNameFor 构建表头 例如 model IEnumerable
  • 如何使用App.config和System.Diagnostics动态设置日志文件?

    当我遇到一篇文章时 我正在寻找一种解决方案来为我的最新项目提供日志记录 http www daveoncsharp com 2009 09 create a logger using the trace listener in csharp
  • 来自单个源代码的多个 Android 应用程序包 .apk 文件

    我想要一个 Android 构建系统程序 命令行或 Eclipse 从单个源代码库生成多个 apk 文件 造成这种情况的一些常见原因 针对具有不同要求的市场提供特定版本或免费和付费版本 这个问题是NOT ABOUT 将共享代码打包成Andr
  • 如何安装 PSCX Powershell 模块?

    我运行的是安装了 PowerShell 2 的 Windows 7 我从这里下载了 2 1 版本 http pscx codeplex com releases http pscx codeplex com releases 发行说明说 解
  • 在ggplot中使用aes的两种方式有什么区别?

    我最近开始学习 R 但对 ggplot2 中的 aes 功能感到困惑 我在代码中看到了两个不同的地方放置了 aes ggplot data mpg geom point mapping aes x displ y hwy ggplot mp
  • 如何将上下文从 MainActivity 传递到 Android 中的另一个类?

    我在尝试将上下文从 MainActivity 类传递到另一个类时遇到问题 这是 ContextPasser 类 public class ContextPasser extends Application public Context co