savedInstanceState podczas przywracania fragmentu z tylnego stosu

Mogę uzyćsavedInstanceState() aby zapisać stan podczas usuwania fragmentu, a następnie przywrócić stan, gdy wyrzucę fragment z tylnego stosu? Kiedy przywracam fragment ze stosu wstecznego, pakiet savedInstanceState jest zawsze pusty.

W tej chwili przepływem aplikacji jest: utworzony fragment -> usunięty fragment (dodany do tylnego stosu) -> fragment przywrócony z tylnego stosu (pakiet savedInstanceState ma wartość NULL).

Oto odpowiedni kod:

public void onActivityCreated(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bundle bundle = getArguments();
    Long playlistId = bundle.getLong(Constants.PLAYLIST_ID);
    int playlistItemId = bundle.getInt(Constants.PLAYLISTITEM_ID);

    if (savedInstanceState == null) {
       selectedVideoNumber = playlistItemId;
    } else {
       selectedVideoNumber = savedInstanceState.getInt("SELECTED_VIDEO");
    }
}

public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putInt(Constants.SELECTED_VIDEO, selectedVideoNumber);
    }

Myślę, że problem polega na tymonSavedInstanceState() nigdy nie jest wywoływany podczas usuwania i dodawania do stosu wstecznego. Jeśli nie mogę użyć onsavedInstanceState (), czy istnieje inny sposób, aby to naprawić?

questionAnswers(4)

yourAnswerToTheQuestion