如果我沒有錯,你正試圖保存全局變量而不擴展應用程序。如果是這樣,你可以做兩件事
,如果你不需要任何情況下,你只需CA與使用靜態成員一類這樣的
public class ApplicationState {
public static boolean get() {
return b;
}
public static void set(boolean a) {
b = a;
}
private static boolean b;
}
如果你需要一個背景,但你不希望擴展應用程序,你可以使用
Public class ApplicationState {
private Context context;
private static ApplicationState instance;
private ApplicationState(Context context) {
this.context = context;
public static ApplicationState getInstance(Context context) {
if (instance == null) {
instance = new ApplicationState(context);
}
return instance;
}
public void someMethod(){}
}
所以你可以這樣調用 ApplicationState.getInstance(context).somemethod();
正如Ryan Thomas指出,使用Context.getApplicationContext()而不是傳遞的上下文是正確的。 – Octavian
作爲建議1的一個更安全的一面:你可以將它標記爲私有構造函數,所以不能實例化它。 –