2016-08-01 39 views
0

Ich habe eine statische Methode in einer meiner Klasse und in der gleichen statischen Methode erstellt, die ich auf die Methode meiner globalen Klasse zugreifen möchte, wenn ich die Klasse erstellen durch -Zugriff auf globale Methode der globalen Klasse in der statischen Methode

final GlobalClass globaVariable = (GlobalClass)getApplicationContext(); 

dann zeigt es mir Fehler und schlägt mir vor, dieses Objekt statisch zu machen, und wenn ich dieses Objekt statisch mache, bekomme ich nicht die Werte von meiner globalen Klasse und Methode, da es die neue Kopie erstellt. Bitte schlagen Sie mir vor, wie ich den Zugang zur globalen Methode in der statischen Methode bekommen kann.

Meine globale Methode ist als Gebrüll:

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

Zum Fragecode der 'Toast' Klasse bitte hinzufügen. –

Antwort

1

Eine Lösung, die die Instanzvariablen in GlobalClass zu statisch und auch das Verfahren in GlobalClass statisch machen zu konvertieren wäre. Da die Variablen statisch sind, wird nur eine einzige Kopie gepflegt und die statische Methode kann auf diese Variablen zugreifen.

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

Vielen Dank, es hat für mich funktioniert. –