Mit rontottam el ebben a kódban? (Android)
onSaveInstanceState függvényt felülírom és elmentem a pageCountert.
override fun onSaveInstanceState(outState: Bundle, outPersistentState: PersistableBundle) {
super.onSaveInstanceState(outState, outPersistentState)
outState.putInt("valami", pageCounter)
}
------------------
Az onCreate felülírásában pedig megpróbálom visszaállítani.
if(savedInstanceState!=null){
pageCounter = savedInstanceState.getInt("valami", 3)
replaceFragment(pageCounter)
} else{
pageCounter = 1
replaceFragment(1)
}
Azaz érdekes képernyő fordításkor a 3-as értéket kapja meg a pageCounter, tehát eljutott az if statement első részébe.
... de nem értem, mért nem azt az értéket állítja be, amit előzőleg eltárolok.
Hiszen a KEY ugyanaz tehát felkéne ismernie, hogy mit mentettem el, de mégis a default értékre megy mindenesetben. (A 3ra)
Ja, még egy fontos dolog. Ez egy Activityben van.
Ugyan ez történik akkor is ha onResotreState-et írom felül és oda rakombe ezt a kódot:
pageCounter = savedInstanceState.getInt("valami", 3)
Köszönöm a segítséget.
Végül sikerült megoldanom. Egy másik felületen megmondták a megoldást.
A két paraméteres függvény helyett az egy paraméteres onInstanceSaved függvényt kellett felülírom, hogy megoldódjon a helyzet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!