2012-02-20 19 views
0

mColorPickerを使用しようとしていて、それがうまく動作していると、ピッカーの色が変わりますが、新しい色を取得するために共有設定を取得しようとしています。 これまでのところ運がないので、色は変わりませんが、デフォルトの色だけが維持されます。 私は別のファイルにプリファレンスを持っています。主なアクティビティーでは、プリファレンスを取得したい場所です。 は、相続人は私が主な活動で持っているAndroid共有の設定mColorPickerの問題

public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { 
    this._blimp.setTopNameColor(prefs.getInt(TOPNAME_COLOR_CHOICE, 0xffffffff)); 
} 

私はこのためにログを使用する場合、私はこのために-1を取得し、0xffffffffのは、デフォルトの色ですが、それは、すべてここに変更されません。 だから私は、私は私がmColorPickerにMain.javaから取って、代わりに私のlivewallpapersettingsファイルに入れて、この

@Override 
public boolean onPreferenceClick(Preference preference) { 

    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(LiveWallpaperSettings.this); 

    final ColorPickerDialog d = new ColorPickerDialog(this, prefs.getInt("top_name_color", 0xffffffff)); 
    d.setAlphaSliderVisible(true); 

    d.setButton("Ok", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 

      SharedPreferences.Editor editor = prefs.edit(); 
      editor.putInt("top_name_color", d.getColor()); 
      editor.commit(); 

     } 
    }); 

    d.setButton2("Cancel", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 

     } 
    }); 

    d.show(); 
    return true; 
} 

を持っている設定で、ここで何かが欠けています知っています。ここでは、ダイアログウィンドウの色は問題なく変更されますが、メインのアクティビティファイルの共有設定には反映されません。 主なアクティビティの共有設定で作業して更新するだけで、実際に自分の色が変わるので、これは素晴らしいカラーピッカーです。 私はそれがおそらく単純なものだと知っていますが、うまくいけば誰かが私をここで助けてくれるかもしれません。 ありがとうございます。 サム

答えて

0

私はthis ColorPickerを使用しました。

プッシュボタンを押すと、ダイアログが表示されます。

私は

SharedPreferences sharedPreferences = getSharedPreferences(MY_PREFERENCES, Activity.MODE_PRIVATE); 
editor = sharedPreferences.edit(); 

を使用して、ユーザーが色をあなたのメインの活動で

editor.putInt(TEXT_COLOR, color); 
editor.commit(); 

を選択したとき、あなたは

prefs = getSharedPreferences(Preferences.MY_PREFERENCES, Activity.MODE_PRIVATE); 
textColor = prefs.getInt(Preferences.TEXT_COLOR, R.color.black); 

によって色を取得しますが、この情報がお役に立てば幸いです。

+0

おかげさまで、私はまだ自分の好みで設定していますが、私はまだ間違っています。おかげで再度感謝:) Sam – user870286

+0

私はそれが最後に働いていることを知っていることを伝えるように、それは単純なXMLでdefaultvalueを追加するように単純だったなぜ私はあなたの助けをもう一度感謝、1つを逃すことを知らない – user870286

+0

あなたがcolorに与えたデフォルト値は何ですか?私にはそのエラーがあります。java.lang.ClassCastException:java.lang.Stringはjava.lang.Integerにキャストできません android.app.SharedPreferencesImpl.getInt(SharedPreferencesImpl.java:239) –

関連する問題