Problème pour lire des préférences.
Bonjour,
Je suis entrain de développer un explorateur de fichiers, j'essaye donc de sauvegarder une préférence qui consiste à choisir la couleur des répertoires.
J'arrive bien à la sauvergarder dans ma variable SharedPreferences , je peux lire ma préférence via la FragmentActivity (Setting Activty).
Cependant j'aimerais pouvoir la lire via la classe MainActivity pour pouvoir initialiser la couleur, mais je n'y arrive pas ...
Je vous poste mon code :
MainActivity :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
public class MainActivity extends AppCompatActivity {
Button mPreferencesButton = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
@Override
protected void onResume(){
super.onResume();
System.out.println("OnResume");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
System.out.println("ICI =========== " + prefs.getString( "test", "y'a rien"));
}
private void init() {
mPreferencesButton = (Button) findViewById(R.id.preferences);
mPreferencesButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SettingActivity.class);
startActivity(intent);
}
});
}
} |
SettingActivity:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public class SettingActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preference);
}
} |
SettingFragment :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
public class SettingsFragment extends PreferenceFragment {
CheckBoxPreference check = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = sharedPref.edit();
addPreferencesFromResource(R.xml.preferences);
check = (CheckBoxPreference) findPreference("checkk");
System.out.println("SettingFragment ====>" + sharedPref.getString("test", "nada"));
check.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
editor.putString("test", "Test est rempli v2");
editor.commit();
return false;
}
});
}
} |
Cordialement,