0

Je veux ajouter dynamiquement un entier dans la méthode getCount() de l'adaptateur de pager personnalisé qui étend évidemment FragmentStatePagerAdapter. J'ai un compteur enregistré dans l'objet Préférences partagées et il est mis à jour avec des clics sur les images étoiles. Je veux renvoyer la valeur de compteur mise à jour dans la méthode mentionnée, donc je peux générer autant de vues de balayage mais le problème est que je ne peux pas obtenir l'objet Préférence partagée là. C'est le seul obstacle entre mon application et le play store, je le développe depuis un mois ou deux. Alors, s'il vous plaît, donnez-moi des suggestions sur ce problème auquel je suis confronté. Merci d'avance les gars!Comment puis-je obtenir l'objet SharedPreference dans FragmentStatePagerAdapter?

Répondre

0

https://developer.android.com/training/basics/data-storage/shared-preferences.html

https://developer.android.com/reference/android/content/Context.html#getSharedPreferences(java.lang.String, int)

Définissez votre value OnPause() et onStop et lire votre value onResume et onCreate.

Vous devez définir une chaîne finale qui serait votre nom de fichier SharedPreferences.

Obtenez votre valeur et l'incrément

Rédaction:

SharedPreferences sharedPref = getSharedPreferences(YOUR_FINAL_STRING, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_value), newValue); 
editor.commit(); 

Lecture:

SharedPreferences sharedPref = getActivity().getSharedPreferences(YOUR_FINAL_STRING, Context.MODE_PRIVATE); 
int defaultValue = getResources().getInteger(R.string.saved_value_default); 
long value = sharedPref.getInt(getString(R.string.saved_value), defaultValue); 

d'abord lire la valeur et le mettre à une variable dans les préférences partagées.

Incrémenter la même valeur onPause ou onStop.

+0

Une classe qui étend l'adaptateur de pageur d'état de fragmentation a-t-elle ces méthodes de rappel? –

+0

Dans le premier exemple sur la [page] (https://developer.android.com/training/basics/data-storage/shared-preferences.html), il est utilisé dans un fragment. – Galeaettu

+0

Man je ne peux pas utiliser activity() –