Android 如何调用具有参数“的方法”;上下文“;

Android 如何调用具有参数“的方法”;上下文“;,android,android-context,Android,Android Context,如何调用具有参数“context”的方法 //如何调用此方法?如果我添加abcd(上下文),它将不起作用, 我需要再次初始化上下文吗?如果是,怎么做 } public static void abcd(Context context){ //I am doing something } } 如果Abc类扩展了活动,则可以调用getApplicationContext()方法: abcd(getApplicationContext()); 如果Abc没有扩展活动您应该在Abc类中创建一个s

如何调用具有参数“context”的方法

//如何调用此方法?如果我添加abcd(上下文),它将不起作用, 我需要再次初始化上下文吗?如果是,怎么做

}

public static void abcd(Context context){
//I am doing something
}

}

如果
Abc
类扩展了
活动
,则可以调用
getApplicationContext()
方法:

abcd(getApplicationContext());
如果
Abc
没有扩展
活动
您应该在
Abc
类中创建一个setter方法:

class Abc {

    private Context mContext;

    //...

    public void setContext(Context context) {
        mContext = context;
    }
//...
}
然后从活动中调用它:

Abc abc = new Abc();
abc.setContext(getApplicationContext());

将活动上下文作为参数传递…abcd(getApplicationContext);abcd(Abc.this);如果Abc是一项活动。谢谢你,Priyank,还有。Dev,Alexey。但是我的类不是活动关于上下文类型和适用范围的好博客文章,因为仅仅放“一个上下文”是不够的,最好放一个正确的:)谢谢Kidoki,我的类是简单的类,而不是活动,我只是试着按照你解释的方式做。但由于abcd是静态方法,“this.context”不起作用。你能在文本中提供一些东西吗?Yuri,谢谢,这是一个非常有用的链接。谢谢Kidoki,它起作用了,我唯一要做的就是将“private Context McContext”定义为静态的“private static Context McContext”,因为我调用的方法是静态的。我不确定声明“context”static是否是正确的方法……无论如何……在它起作用之前,我没有任何问题;)再次感谢
Abc abc = new Abc();
abc.setContext(getApplicationContext());