我知道我可以使用getApplicationContext()从ListActivity的子类中获取Context。 但是PublicPar是常见的类,我怎样才能从这个类中获取Context。
public class SMSMain extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
Context my=getApplicationContext();
}
}
public class PublicPar {
public static void SetNotification(){
}
}
答案 0 :(得分:1)
如果您有一个像PublicPar
类这样的公共(辅助类型)类,那么您可以做的最好的事情是将上下文作为参数传递给每个方法:
public static void SetNotification(Context context) {
}
请记住,不要将此上下文设置为任何PublicPar
类变量,以避免泄漏它。
答案 1 :(得分:0)
试试这个。它应该工作:
public class SMSMain extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// Context my=getApplicationContext();
new PublicPar().SetNotification(SMSMain.this)
}
}
public class PublicPar {
public static void SetNotification(final Context context ){
// You can proceed with using the context here.
}
}
答案 2 :(得分:0)
如果您不想在构造函数参数中传递Context,则可以在应用程序中公开静态方法。
public class MyApplication extends Application {
private static MyApplication myinstance;
public MyApplication() {
myinstance = this;
}
public static Context getAppContext() {
myinstance.getApplicationContext();
}
}