Bonjour,

j'ai une appli très simple dont le code est le suivant :

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
public class pageOK extends Activity {
 
	private static String value = null;
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
 
	    Bundle extras = getIntent().getExtras(); 
 
	    if (extras != null) {
	       value = extras.getString("TEXT_USER");
	    }
 
	    if(value.length()==0){
			value = "Vous n'avez écrit aucun texte";
	    } 
 
	    setContentView(R.layout.pageok);
 
	    final TextView TW1 = (TextView) findViewById(R.id.textView1);
	    TW1.setText(value);
 
	    final CheckBox CB1 = (CheckBox) findViewById(R.id.checkBox1);
 
	    CB1.setOnClickListener(new View.OnClickListener() {
 
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				finish();
			}
		});
 
	    // TODO Auto-generated method stub
	}
 
 
    @Override
    public void onResume(){
    	super.onResume();
    	final TextView TW1 = (TextView) findViewById(R.id.textView1);
	    TW1.setText(value);
    }
 
    @Override
    public void onPause(){
    	super.onPause();
    }
}
Alors voila, j'affiche une valeur string passé en argument de l'activité précedente. La valeur s'affiche sans pb. Ce que je ne comprends pas, c'est quand je clique sur le bouton home du telephone, et que je reviens dans l'appli, (on passe donc pas le onresume seulement), je lui demande de me ré afficher dans la textview la valeur du string "value". Et cette valeur est conservée.
Je me pose donc la question de l'utilité des fonctions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public void OnSaveInstanceState(Bundle savedInstanceState)
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public void onRestoreInstanceState(bundle ....)
Ces deux fonctions sont censés être utilisées pour conserver les données lorsque l'appli passe en arriere plan. Quel est l'interet si toutes les données sont déja conservée ?
Je pensais que l'appli ne mafficherait rien dans ma textview en passant par onResume, car "value" obtiens sa valeur seulement dans le onCreate(), et est null à l'initialisation..
Voila si vous pouvez m'éclairer ce n'est pas de refus
Bonne journée