Aller au contenu

Sauvegarde donnée d'un champ texte[Résolu]


androniennn

Recommended Posts

Posté(e)

Bonsoir,

Je voudrais sauvegarder la donnée saisie de mon champ texte à fin de le préserver même après quitter l'appli. Mais je rencontre un problème, voici le code:

public class preferences {

public void onSaveInstanceState(Bundle savedInstanceState) 
{
  // Store UI state to the savedInstanceState.
  // This bundle will be passed to onCreate on next call.

EditText txtName = (EditText)findViewById(R.id.edittext1); 
  String strName = txtName.getText().toString();
  savedInstanceState.putString("Name", strName);
  super.onSaveInstanceState(savedInstanceState);
}
}

J'ai 2 erreurs dans le findviewbyid et dans le onSaveInstanceState: the method ..... is undefined for the type Object!

Mon idée et de sauvegarder le champ lorsque je tape sur le bouton OK, j'ai fais donc dans l'autre classe un setonclicklistener que lorsque je tape sur le bouton l'activity 'preferences' (celle du code au dessus) s’exécute.

Donc l'idée est-elle juste? pourquoi j'ai les erreurs de findviewbyid et de onSaveInstanceState ?

Merci à vous.

Posté(e)

Vraiment je ne sais plus quoi faire, mais quelle est la fonction qui nous permet de sauvegarder les données d'un menu 'paramètres' par exemple?

Sharedpreferences ? Ce code fais quoi alors ? (je m'éneeeeeerve :emo_im_undecided: :emo_im_lips_are_sealed: :( :o

Posté(e)

Vraiment je ne sais plus quoi faire, mais quelle est la fonction qui nous permet de sauvegarder les données d'un menu 'paramètres' par exemple?

Sharedpreferences ? Ce code fais quoi alors ? (je m'éneeeeeerve :emo_im_undecided: :emo_im_lips_are_sealed: :( :o

Bonjour,

Voici comment je fais:

public class MesPreferences extends PreferenceActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

addPreferencesFromResource(R.layout.preferences);

}

}

voici preferences.xml

<?xml version="1.0" encoding="utf-8"?>

<PreferenceScreen

xmlns:android="http://schemas.android.com/apk/res/android">

<PreferenceCategory android:title="Utilisateur">

<EditTextPreference android:key="Nomdetapref"/>

</PreferenceCategory>

</PreferenceScreen>

dans mon activity pour sauver les prefs

private void getPreferences() {

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

Editor editor = preferences.edit();

editor.putString("Nomdetapref", "tontexte").commit();

}

pour les récupérer:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

String mapref=preferences.getString("Nomdetapref","valeur par défaut");

Je ne suis pas un expert il y a surement mieux mais cela marche

Posté(e)

dans mon activity pour sauver les prefs

private void getPreferences() {

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

Editor editor = preferences.edit();

editor.putString("Nomdetapref", "tontexte").commit();

}

Cette fonction est destiné afin de récupérer un champ et de l'éditer , non ?

Mais ma question pourquoi de cette façon là qu'on modifie un champ, on peut directement aller au champ et taper quelque chose afin de le modifier!

N'est ce pas ?

Posté(e)

C'est fonction est destiné afin de récupérer un champ et de l'éditer , non ?

Mais ma question pourquoi de cette façon là qu'on modifie un champ, on peut directement aller au champ et taper quelque chose afin de le modifier!

N'est ce pas ?

Cette fonction est destinée à sauver 'tontexte' dans le champs EditTextPreference "Nomdetapref"

Je ne comprends pas très bien la question.

Mais il me semble que les champs de preferences.xml ne se modifient pas 'à la volée' comme pour un EditText classique...

Posté(e)

Lorsqu'on ajoute un preferences dans un fichier XML, toute configuration dans le <PreferenceScreen> est sauvegardé automatiquement, pas besoin d'une fonction qui fait cela !

Par contre j'ai pas bien compris le rôle de votre fonction :\

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...