将Context从主Activity传递到另一个类

1 android android-context

这可能是错误的方法,所以请告诉我是否是这种情况:

我正在尝试在另一个类中使用getFileStreamPath(根据我的理解派生自Context),将一些代码与主活动类分开.我这样做是通过将主活动的上下文传递给另一个类,并使用它来调用其方法.

在我的主要活动课程中:

LocalStorage lc = new LocalStorage(this);
Run Code Online (Sandbox Code Playgroud)

然后,在另一个班级:

public class LocalStorage {
    Context ctx;

    public LocalStorage (Context c) {
        c = ctx;
        File lfile = ctx.getFileStreamPath("Activity.log");

    ....
Run Code Online (Sandbox Code Playgroud)

但显然我遗漏了一些东西,因为在LocalStorage类中传递的上下文上运行getFileStreamPath会导致NullPointerException.

kco*_*ock 10

你的变量倒退了.

c = ctx;
Run Code Online (Sandbox Code Playgroud)

应该

ctx = c;
Run Code Online (Sandbox Code Playgroud)

您将未初始化分配给Context ctx传入Context c,因此它将始终为null.