2016-08-01 174 views
0

我在我的類之一中創建了一個靜態方法,並且在相同的靜態方法中我想訪問我的全局類的方法,如果我正在創建類 -在靜態方法中訪問全局類的全局方法

final GlobalClass globaVariable = (GlobalClass)getApplicationContext(); 

然後它顯示我的錯誤,並建議我使這個對象是靜態的,如果我使這個對象是靜態的,那麼我沒有從我的全局類和方法獲取值,因爲它正在創建新副本。請建議我如何在靜態方法中獲取訪問全局方法。

我的全局方法是波紋管:

public class GlobalClass extends Application { 

    private int vMyToken; 
    private String vConCmpName; 
    private boolean vUserLoginMode; 
    private String vGlobalSessionID; 
    private String vglobalAccInternalID; 


    public int getToken() { 

     return vMyToken; 
    } 

    public void setToken(int myTokenVal) { 

     //Toast.makeText(GlobalClass.this, "", Toast.LENGTH_SHORT).show(); 

     vMyToken = myTokenVal; 
    } 

} 
+0

添加到「Toast」類的問題代碼請。 –

回答

1

一個解決辦法是,以實例變量轉換成GlobalClass靜態,也使在GlobalClass靜態方法。由於變量是靜態的,所以只保留一個副本並且靜態方法可以訪問這些變量。

private static int vMyToken; 
private static String vConCmpName; 
private static boolean vUserLoginMode; 
private static String vGlobalSessionID; 
private static String vglobalAccInternalID; 
+0

非常感謝,它爲我工作。 –