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 :
Merci de votre aide !
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(); } }
Partager