2015-01-14 3 views
0

пытаются сохранить он цвет выбрали из holocolorpicker и использовать его в другой деятельностивыбрать цвет из holocolorpicker затем сохраняется с использованием общих предпочтений

перед OnCreate метод в деятельности настройки я положил эти строки

private String SettingsTAG0 = "backcolorValue"; 
private SharedPreferences backcolorprefs; 
private static int backcolorValue = 0; 

после OnCreate метод в деятельности настройки я положил эти строки

public void onColorChanged(int color) { 
    ColorPicker picker0 = (ColorPicker) findViewById(R.id.backpicker); 
    backcolorValue = picker0.getColor(); 
    Editor editor0 = backcolorprefs.edit(); 
    editor0.clear(); 
    editor0.putInt("back_colorcode", backcolorValue); 
    editor0.commit(); 
} 

до OnCreate метода другой деятельности я поставил эту лин эс

private String SettingsTAG0 = "backcolorValue"; 
private SharedPreferences backcolorprefs; 
private static int backcolorValue = 0; 

в OnCreate метод другой деятельности я поставил это линии

backcolorprefs = getSharedPreferences(SettingsTAG0, 0); 
    backcolorprefs.getInt("back_colorcode", backcolorValue); 
    View view = this.getWindow().getDecorView(); 
    view.setBackgroundColor(backcolorValue); 

я супер новичок в андроид и Java, но я сделать попытку, но ничего не произошло

любой help

+0

использовать 'view.setBackgroundColor (backcolorprefs.getInt ("back_colorcode", backcolorValue));' –

+0

Первая проблема у меня в том, что выбранный цвет не сохраняет – BasILyoS

ответ

0

Ничего не произошло, потому что вы не назначаете значение, считанное с предпочтений, на backcolorValue. Эта строка:

backcolorprefs.getInt("back_colorcode", backcolorValue); 

просто читает ее и НЕ хранит в backcolorValue. У:

backcolorValue = backcolorprefs.getInt("back_colorcode", backcolorValue); 

Кроме того, в onColorChanged, я не вижу, что вы инициализацию backcolorprefs, поэтому убедитесь, что вы делаете. Кстати, для getSharedPreferences, вы должны использовать константу Context.MODE_PRIVATE вместо закодированного значения 0.

1

Это как sharedpreference используется:

// put int 
SharedPreferences sharedpreferences = getSharedPreferences("MyPreference", Context.MODE_PRIVATE); 
Editor editor = sharedpreferences.edit(); 
editor.putInt("back_colorcode", backcolorValue); 
editor.commit(); 

// get int 
SharedPreferences sharedpreferences = getSharedPreferences("MyPreference", Context.MODE_PRIVATE); 
int backcolorValue = sharedpreferences.getInt("back_colorcode", 0) 
0

onColorChanged параметр метод цветового кода, выбранного из ColorPicker. сохранить же в SharedPreferences:

public void onColorChanged(int color) { 
    Editor editor0 = backcolorprefs.edit(); 
    editor0.clear(); 
    editor0.putInt("back_colorcode", color); 
    editor0.commit(); 
} 

Во второй активности получить код цвета от предпочтений и перейти к setBackgroundColor:

int colorCode=backcolorprefs.getInt("back_colorcode", Color.BLACK); 
View view = this.getWindow().getDecorView(); 
view.setBackgroundColor(colorCode); 
Смежные вопросы