Навигация по фрагменту Android назад предыдущая страница - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь использовать одно действие в своем проекте。 в основном фрагменте i пользовательская страница просмотра и табуляция , ViewPager содержит пять фрагментов, в первом фрагменте содержит два фрагмента, я формирую один фрагмент навигации к новому фрагменту, когда назад я теряю все данныево фрагменте ViewPager.

просто так введите описание ссылки здесь

, как @Ail говорит мне.я исправляю эту ошибку.

Код до:

protected View mView;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    mView = inflater.inflate(getRootView(), container, false);
    initView();
    initData();
    return mView;
}

Код после:

public View mView;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    if (mView == null) {
        mView = inflater.inflate(getRootView(), container, false);
        initView();
        initData();
    }
    return mView;
}

1 Ответ

1 голос
/ 21 сентября 2019

У вас есть одно действие, которое означает, что вы используете компонент архитектуры Navigation.

Когда вы возвращаетесь на главный экран, ваши методы обратного вызова, такие как onViewCreated, вызывались.Вы должны сохранить ссылку на представление, которое вы создали в первый раз на главном экране, и вернуть его снова, как предложено Ian Lake :

https://twitter.com/ianhlake/status/1103522856535638016

Также посмотритев Фрагменты уничтожены / воссозданы с помощью компонентов Jetpack для Android-навигации

...