Aller au contenu

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


androniennn

Recommended Posts

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

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

×
×
  • Créer...