CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Anomalia durante la modifica manuale del savedInstanceState di un ViewPager Fragment

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Anomalia durante la modifica manuale del savedInstanceState di un ViewPager Fragment

    Salve a tutti, ho aperto una discussione su stackoverflow ma non ho ricevuto risposta.

    Incollo qui la mia domanda che ho fatto lì.

    Se ci sono problemi con il fatto che il seguente testo è in inglese vi prego di farmelo sapere, lo traduco senza alcun problema!

    I have a ViewPager (instantiated with FragmentStatePagerAdapter) with some Fragment attached to it.

    In a specific usecase I need to reset instanceBean and UI for most of the fragments in the pager.

    After some googling I have tried some solutions like this but the side effects were not easy manageable. Other solution like this doesn't match my needs.

    So I decided to go straight with the manual reset of the UI and instanceBean obj like in the code below:

    The code

    Single fragment reset



    This is done with the following code from the parent Activity:

    Fragment reset from parent



    AfterViews method:



    OnSavedInstanceState



    ----------

    Why do I set every page before resetting them?

    Because like explained here:

    When pages are not visible to the user, their entire fragment may be destroyed, only keeping the saved state of that fragment.
    and because until I don't select the relative fragment the @AfterViews method (that is everything processed right after OnCreateView of the fragment) is not executed.
    This throws NullPointerException for a thousand of reason (Usually in the @AfterViews method You launch RestoreState method, initializes adapter, do UI stuff).

    Setting the relative page before the reset let @AfterViews method be processed.


    ----------


    Before checking what would happened when rotating the device, all the fragment I need are correcly reset.

    When rotating the device, the error comes out:

    The views (mainly EditText) go back to their previous state BEFORE my reset.


    What happens?

    When switching between the page, at a certain point the page will be destroyed and OnSavedInstanceState is called everytime for each page.

    I have already handled the OnSavedInstanceState (like above) that when the boolean is false saves the state like if it had just been created.

    I found that until within AfterView method the EditText has its text set to blank (like I want) but going on with the debug the EditText goes back to its previous state, so at the end it will show the last text it had.

    Question

    How can I keep the manually set (in OnSavedInstanceState) EditText text after destroying/recreating a fragment?

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ci sono news su questo mio problema?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy