2011-07-22 21 views
2

sharedpreferencesデータの書き込みと読み取りの両方を行うことができるアクティビティを作成しようとしています。Sharedpreferences - 起動時にクラッシュする

私は初め

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 

でSharedPreferencesを開始すると、この関数は、SPにint型を書き込み、別の関数を呼び出します。私が実行できるようにする他の活動を必要とするので、私は単純に、別の関数からこのint型を渡すことはできません

public void ApplyHue() 
    { 
    int hueInt = preferences.getInt("storedInt", 0); 
    /// adjust background image hue according to hueInt. 
    } 

この他の機能は、SPからそのINTをお読みください

public void SetHue(int i) 
{ 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putInt("storedInt", i); // value to store 
    editor.commit(); 
    ApplyHue(); 
} 

... ApplyHue()関数は、メモリからhueIntを使用する必要があります。

あなたはそれをクラッシュさせる可能性がありますどう思いますか?

ありがとうございます!

+2

を解決されるクラッシュのlogcat /スタックトレースを含めてください。 –

答えて

5

私はあなたのonCreateメソッドの前にクラスでは、この行を書いたと思います。クラスの

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 

Decalare SharedPreferences preferences;、その後のonCreate

preferences = PreferenceManager.getDefaultSharedPreferences(this); 

うまくいけば、あなたの問題は

+0

作品!どうもありがとう! – Roger

+1

あなたはこのようなキーワードをこのように使用しないでください。 – Rasel

+0

ええ、コンテキストはまだ添付されていないので、環境設定フィールドを宣言するとSPを取得できません –

関連する問題