2011-08-31 6 views
0

Je suis vraiment nouveau à android et j'ai créé une application qui a des boutons qui mènent à d'autres activités où les données sont sélectionnées pour être renvoyées à l'activité principale par une intention avec des extras.bonne pratique using finish()

Lorsque j'en ai fini avec l'activité de collecte de données, j'appelle la méthode finish() pour revenir à mon activité principale.

L'utilisateur peut souhaiter revenir sur l'activité de collecte d'informations pour saisir de nouvelles données, mais peu importe si les données précédemment saisies ne sont pas présentes lors de leur retour à l'activité. Est-ce considéré comme une bonne ou une mauvaise pratique lors de l'écriture d'une application?

Merci, M

Répondre

0

dépend de votre application.

Si votre application nécessite des données permanentes comme une activité d'options ou une date de saisie, vous devez "enregistrer" les modifications de votre activité. Il y a une forme facile à faire avec les méthodes de Overryde:

/** 
* Method onSaveInstanceState. 
* @param outState Bundle 
*/ 
@Override 
protected void onSaveInstanceState(Bundle outState) { 
    outState.putBoolean("ISCALLSMS", isOnCallingSms); 
    super.onSaveInstanceState(outState); 
} 


/** 
* Method onRestoreInstanceState. 
* @param savedInstanceState Bundle 
*/ 
@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    if ((savedInstanceState != null) && (savedInstanceState.containsKey("ISCALLSMS"))){ 
     isOnCallingSms = savedInstanceState.getBoolean("ISCALLSMS"); 
    } 
    super.onRestoreInstanceState(savedInstanceState); 
}  

* Ce sont un exemple de mon application. Yoy devrait décider quelles données vous devez sauvegarder. Il existe d'autres méthodes pour enregistrer vos données, ce n'est que l'une d'entre elles.

Dans les autres cas, si votre application n'a pas besoin de sauvegarder des données, c'est correct comment vous finissez votre activité