Je les préférences paramétrées en xml et j'ai l'activité que vous avez choisi:Préférences partagées personnalisée Android
public class Preferencias extends PreferenceActivity {
//SharedPreferences prefs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
setContentView(R.layout.preferences);
Button bt=(Button)findViewById(R.id.selectPic);
TextView tv=(TextView) findViewById(R.id.textView1);
String def=getResources().getString(R.string.noDefinido);
tv.setText(PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("logo", def));
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName(getApplicationContext(),
SDCardImagesActivity.class.getName());
startActivity(intent);
}
});
//habra que sacarlo de la red
String [] ofis ={"Venus", "Europa"};
ListPreference lp=new ListPreference(this);
lp.setValue("oficina");
lp.setEntries(ofis);
lp.setEntryValues(ofis);
lp.setTitle(R.string.oficina);
lp.setDefaultValue(ofis[1]);
getPreferenceScreen().addPreference(lp);
}
}
Il fonctionne très bien avec les préférences xml mais je dois aussi ajouter une préférence dans le code la raison de celui-ci est que les options de cette ListPreference viendront de la base de données (ici j'ai le tableau String pour l'instant). Le problème est que les données modifiées pour cette préférence ne sont pas conservées. Quand je fais les changements j'appuie sur le bouton de retour je reviens la valeur retourne à la valeur par défaut. Comment pourrais-je m'assurer que cette préférence est sauvegardée aussi?
Merci beaucoup