gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:02:05 24 4
gpt4 key购买 nike

我在尝试将上下文从 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 类本身的参数。

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

最佳答案

如果您的其他类是非 Activity 类,这就是您传递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);

关于java - 如何将上下文从 MainActivity 传递到 Android 中的另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42036278/

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