Actualiser l'activité sans la rouvrir?
J'ai mis en place un bouton dans mon application qui efface tous les sharedpreferences l'aide de ce code:
context.getSharedPreferences("bifrostPrefs", 0).edit().clear().commit();
Maintenant, le problème est que quand j'utilise le bouton, je puis avoir besoin de sortir de l'activité et de l'ouvrir à nouveau pour voir les résultats. J'ai essayé de résoudre simplement en faisant le bouton de ré-ouvrir l'activité avec ce code:
Intent reOpen = new Intent (Bifrost.this, Bifrost.class);
startActivity(reOpen);
Mon idée semblait intelligent jusqu'à ce que j'ai remarqué que si je ré-ouvrir l'activité, j'ai donc besoin d'appuyer sur le bouton de retour deux fois pour revenir à l'activité principale. J'ai donc fait quelques recherche et j'ai trouvé ce code:
finish();
startActivity(getIntent());
Maintenant cela fonctionne très bien, l'activité sera mise à jour et puis j'ai seulement besoin de cliquer sur le bouton de retour une fois. Mais est-il un autre moyen à l'activité d'actualisation sans elle "clignotement"? Comme vous le savez, à chaque fois que vous ouvrez une nouvelle activité, il clignote et sortir ainsi, l'application de lag d'une seconde. Est-il possible d'actualiser une activité en contournant ce?
source d'informationauteur Guy | 2013-07-05
Vous devez vous connecter pour publier un commentaire.
Bien, il serait préférable de mettre à jour le contenu de l'activité, mais si c'est trop compliqué, vous pouvez remplacer la valeur par défaut de l'animation avec cette méthode :
Vous pouvez ajouter le drapeau
Intent.FLAG_ACTIVITY_NO_ANIMATION
(lien) à votrereOpen
intention de eleminate toutes les animations. Mais comme dit l'autre réponse de mieux actualiser les données à l'intérieur de vousActivity
.ce que vous avez des points de vue qui peuvent changer de valeur/taille basée sur les valeurs de vos préférences? si oui, créer une méthode init de la vue et de l'appel que methon sur onCreate() la méthode et dans le onClick() la méthode.