Bonjour,
Dans le cadre de mon etude du dev sous android, je m attelle aujourd'hui aux differentes forme de persistence, en l occurence la premiere de toute celle qui passe par l utlisation de la classe SharedPreferences.
Mon appli est toute bete, il y a un layout qui contient un TextView, un Editview.
Lorsque je demarre l application je saisie une valeur dans l EditView, lorsque je ferme l application je "sauvegarde" cette valeur.Quand je relance l appli je veux mettre la valeur sauvegardée dans le TextView et pouvoir resaisir une nouvelle valeur.
Alors la premiere fois ca c est tres bien passé j ai saisi une valeur et fermé l appli.
Depuis quand je l ouvre j' ai un message d erreur : Sorry the application ... please try again.

Si je mets en commentaires le code qui valorise le texte de la textView je n ai plus l erreur ! (en rouge)
Mais la je ne vois vraiment pas comment faire ???
Merci de l aide des experts !
Voici le code :
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
public class xtTut01 extends Activity {
    public static final String XT_PREF_TUT01 = "MyPrefTut01";
    public static final String XT_PREF_ND = "notDefined";
    private EditText mText;
    private SharedPreferences xtTut01Settings;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        xtTut01Settings = getSharedPreferences(XT_PREF_TUT01, 0);
        TextView mView = (TextView)findViewById(R.id.anc_val);
        String result = (String)xtTut01Settings.getString(XT_PREF_TUT01, XT_PREF_ND);
       if (result!=XT_PREF_ND && result!=null) {

           mView.setText(result);

        }
        setContentView(R.layout.main);
    }  
    @Override
    public void onStop(){
        super.onStop();
        SharedPreferences.Editor editor = xtTut01Settings.edit();
        mText = (EditText)findViewById(R.id.text);
        CharSequence test = (CharSequence)mText.getText();
        editor.putString(XT_PREF_TUT01,test.toString());
        editor.commit();
    }
}
Merci de votre aide !