2010-11-11 6 views
0

HI All,Préférence partagée Android Édition

Dans mon activité j'ai utilisé la préfrence partagée par défaut pour stocker certaines données ... et elle est également stockée. Mais quand je veux accéder à la préfrence partagée en dehors de la classe (classe simple sans activité) mon projet montre des erreurs.

code:

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this); 
    user = p.getString("Username", null); 
     pass=p.getString("Password", null); 

sa montrant Redline sur getDefaultSharedPreferences et quand je souris dessus il montre

La méthode getDefaultSharedPreferences (contexte) dans le type PreferenceManager est pas applicable pour les arguments (Myclassname

Quelqu'un peut-il m'aider ... je veux accéder à ma préfrence partagée en dehors de la classe d'activité qui n'est pas une activité.

Merci d'avance.

Répondre

2

Vous ne pouvez pas travailler sans passer le contexte actuel à getDefaultSharedPreferences(), Si vous souhaitez accéder à l'extérieur, alors vous devriez trouver un moyen de passer votre contexte à cette classe

Certaines suggestions
Vous pouvez utiliser une variable statique

class A extends Activity{ 
----------- 
Static Context context; 

onCreate(--){ 
    context = this; 
} 

} 

donc vous classe vous pouvez utiliser

getDefaultSharedPreferences(A.context); 

Note: cela ne fonctionnera que si A est une activité en cours.

Ou vous pouvez passer votre contexte à cette classe en utilisant une fonction, comme passer une valeur à son constructeur ou à des fonctions particulières. Donc, vous pouvez le stocker là et l'utiliser à partir de là

Questions connexes