2016-12-31 3 views
0

Ainsi, j'ai une activité où l'utilisateur peut voir les mots qu'il a collectés. Si un mot entré existe et n'utilise que les lettres disponibles, il recevra un score qui apparaîtra dans un textView.Activité d'Android Studio - Utilisation de onCreate(), onResume() etc.

Questions:

  • Lorsque l'utilisateur quitte l'activité (par exemple, va chercher plus de lettres), puis retourne à l'activité où il entre les mots, le score courant est plus là et tous les les lettres qu'il avait recueillies sont de retour, même si elles les ont utilisées. Je comprends que ce problème est dû au fait que l'activité est réinitialisée chaque fois que l'utilisateur le quitte et y entre. Je ne comprends tout simplement pas comment utiliser les méthodes onCreate, onResume, onPause.

  • Il semble que l'utilisateur ne puisse entrer qu'un seul mot. quand j'essaie d'entrer un autre mot après avoir entré le premier mot, il ne se passe rien même s'il a des lettres pour ce mot.

Mon code a cette structure actuellement,

public class calculateScoreActivity extends AppcompactActivity{ 
    //initialise variables to be used 
    public void onCreate(Bundle savedInstanceState){ 
     //set variables to textViews etc 
     //then go to method buttonClicked() 
} 

public void buttonClicked(){ 
    //if the button is pressed and user input is correct go to: 
    updateDictionary() 
    calculateScore() 
} 

public void updateDictionary(){ 
    //remove letters used in the word the user inputted 
} 

public void calculateScore(){ 
    //calculate the user score 
} 

Ai-je raison d'écrire ces méthodes en dehors du onCreate? Où et comment dois-je utiliser onPause et onResume pour que l'utilisateur puisse reprendre d'où il est parti?

Répondre

0

Activity Life Cycle

lire ce graphique. Utilisez les méthodes dans la plage que vous êtes, je fais généralement toutes mes configurations statiques (vues e.t.c) dans onCreate() et ensuite utiliser les autres méthodes du cycle de vie si nécessaire. OnPause serait avant que vous passiez à l'activité qui vient au premier plan et onResume sera activé lorsque vous reviendrez à cette activité.

+0

alors est-ce que je passerais toutes mes méthodes pour calculer le score, en vérifiant les mots etc. dans permet dire onResume ou onStart? – Nicholas

+0

si vous quittez l'activité pour obtenir quelque chose en retour, utilisez onResume, si vous avez quitté l'activité pour y accéder par la suite, utilisez onStart. – HeTheMan

+0

[Voici une réponse à la différence entre ces deux] (http://stackoverflow.com/questions/4553605/difference-between-onstart-and-onresume) – HeTheMan