我遇到了这个问题,我需要通过SharedPreferences
保存用户选择的颜色,并且我使用此代码执行此操作:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
final SharedPreferences.Editor editor = preferences.edit();
imgBtnDarkBlue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tvColorScheme.setTextColor(getResources().getColor(R.color.colorPrimary));
editor.putString("color", tvColorScheme.getTextColors().toString());
editor.commit();
}
});
imgBtnGreen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tvColorScheme.setTextColor(getResources().getColor(R.color.green));
editor.putInt("color", getResources().getColor(R.color.green));
editor.commit();
}
});
imgBtnBlue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tvColorScheme.setTextColor(getResources().getColor(R.color.blue));
editor.putInt("color", getResources().getColor(R.color.blue));
editor.commit();
}
});
在另一个Activity中检索它:
int colorScheme = preferences.getInt("color", 0);
if (colorScheme == 0) {
imgViewColorScheme.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
} else {
imgViewColorScheme.setBackgroundColor(colorScheme);
}
现在我需要检查用户选择了哪种颜色并将其值放在String中。我怎么做?
答案 0 :(得分:0)
首先在日志中打印
Log.d("somestring", ""+colorScheme );
然后尝试这种方式。
String.valueOf(colorScheme);