Java 如何在Android中创建需要上下文的单例?

Java 如何在Android中创建需要上下文的单例?,java,android,enums,singleton,Java,Android,Enums,Singleton,我最近学习了在Java中使用枚举作为生成单例的替代方法。对于这个单身汉,我需要上下文。如何使用参数(例如上下文)创建枚举单例 注意:我想这不一定是一个Android问题,但由于上下文对象的问题。。。也许有更好的方法可以做到这一点?您可以从应用程序类派生自己的类。在onCreate方法中,在枚举上调用一个静态方法,该方法使用应用程序上下文设置上下文(this) 但是,您可能应该考虑只将静态/全局数据存储在应用程序类本身中,因为它已经是一个单独的。这将是一种更为Android化的方法。快速回答:您不

我最近学习了在Java中使用枚举作为生成单例的替代方法。对于这个单身汉,我需要上下文。如何使用参数(例如上下文)创建枚举单例


注意:我想这不一定是一个Android问题,但由于上下文对象的问题。。。也许有更好的方法可以做到这一点?

您可以从应用程序类派生自己的类。在
onCreate
方法中,在枚举上调用一个静态方法,该方法使用应用程序上下文设置上下文(
this


但是,您可能应该考虑只将静态/全局数据存储在应用程序类本身中,因为它已经是一个单独的。这将是一种更为Android化的方法。

快速回答:您不能这样做,因为枚举类是在初始化上下文之前加载的。通常所做的是,在任何需要上下文的地方,都可以将其作为方法的参数。getInstance(context context)。。。同时也要记住传递应用程序上下文他不能使用getInstance(上下文上下文),他特别说当他需要访问它时,他没有可用的上下文!Enum对性能不利,就像用榴弹炮杀死蚊子一样
public enum MyFactory{
INSTANCE;
public Context context;

//How do I make sure that this enum gets it's context set?

}