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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,
Partager