0

Ich möchte eine Ganzzahl dynamisch in der Methode getCount() des benutzerdefinierten Pager-Adapters hinzufügen, die offensichtlich FragmentStatePagerAdapter erweitert.Wie bekomme ich SharedPreference-Objekt in FragmentStatePagerAdapter?

return some integer value; 

Ich habe einen Zähler in Shared Preference Objekt gespeichert und es wird mit Klicks auf Sternbilder aktualisiert. Ich möchte den aktualisierten Zählerwert in der erwähnten Methode zurückgeben, so dass ich viele Swipe-Ansichten generieren kann, aber das Problem ist, dass ich dort kein Shared Preference-Objekt abrufen kann. Dies ist das einzige Hindernis zwischen meiner App und dem Play Store, ich habe es für ein oder zwei Monate entwickelt. Also bitte gib mir einen Vorschlag zu diesem Thema, vor dem ich stehe. Vielen Dank im Voraus Jungs!

Antwort

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)

Stellen Sie Ihren value onPause() und OnStop und Ihre value onResume und onCreate lesen.

Sie müssen eine letzte Zeichenfolge festlegen, die Ihr SharedPreferences-Dateiname sein würde.

Ihr Wert Erhalten und

Schreiben erhöhen:

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

Reading:

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); 

zuerst den Wert lesen und es auf eine Variable in gemeinsamen Präferenzen einstellen.

Inkrementieren Sie den gleichen Wert onPause oder onStop.

+0

Hat eine Klasse, die Fragmentstatuspageradapter erweitert, diese Rückrufmethoden? –

+0

Im ersten Beispiel auf der [Seite] (https://developer.android.com/training/basics/data-storage/shared-preferences.html) wird es innerhalb eines Fragments verwendet. – Galeaettu

+0

Man kann keine Aktivität verwenden() –

Verwandte Themen