2017-01-01 3 views
0

私はSharedPreferencesをAndroidアプリケーションのPreferencesActivityに保存するクラスを用意しています。私はこれを試しましたが、それはnullポインタの例外を与えます。繰り返しますが、私は必要なものを得るためのアクティビティではなく、クラスを使用しています。PreferenceActivityからSharedPreferencesを取得する方法

public PrefsInterface(Context context) 
{ 
    gson = new Gson(); 
    sPreferences = PreferenceManager.getDefaultSharedPreferences(context); 
    String json = sPreferences.getString("myJsonCity", ""); 
    if(!json.isEmpty()) 
    { 
     Type t = new TypeToken<CityObj>(){}.getType(); 
     myCity = gson.fromJson(json, t); 
     //System.out.println(myCity.city()); 
    } 
    else 
    { 
     System.out.println("Error getting city from settings."); 
    } 

} 
+0

アクティビティで同じコードが有効かどうかを確認します。 –

+0

アクティビティコードと例外スタックトレースの一部を共有する –

+0

これは動作するはずです。クラスを使用してコンテキストを渡すことは、これを行うための正当な方法です。例外自体に関する詳細を追加できますか? – yakobom

答えて

0

なぜ私は何も得られなかった。私は物事を間違っていた。代わりに、このように保存するので:

SharedPreferences preferences==PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor=preferences.edit(); 
    editor.putString("Name","Harneet"); 
    editor.commit(); 

を、私はこのように保存された:これは私がそのせいでプライベートモードで保存された設定を取得できませんでしたことを意味

SharedPreferences.Editor = this.getPreferences(MODE_PRIVATE).edit(); 

関連する問題