Правильный ли мой способ восстановления фрагментов? - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть действие с двумя фрагментами (SearchInput, SearchResult), в каждом из которых есть кнопка, которая перемещается к другому фрагменту (search, search_again). Концепция заключается в том, чтобы сначала загрузить SearchInput, а после нажатия кнопки поиска загрузить фрагмент SearchResult, а затем после нажатия кнопки поиска. снова go назад к первому фрагменту!

Проблема в том, что я хочу сохранить все введенные пользователем данные при первом нажатии кнопки поиска!

Здесь я нахожу способ сделать то, что работает правильно ! но я хочу знать , является ли это хорошим решением или нет !

, так как фрагмент снова входит в CreateView, мой коллега сказал мне, что это не лучший способ!

Вот как сохранить первый фрагмент (этот код onCreateView первого фрагмента)

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    if (isReturnFromResult && fragmentView != null) {
        Helper.logDebug(TAG,"inside fragmentView != null");
        return fragmentView;
    } else {
        View view = inflater.inflate(R.layout.frg_search_input, container, false);

        initViews(view);

        setLoading();

        if (activity.getIntent().getExtras() != null) {
            type = activity.getIntent().getExtras().getInt(INTENT_KEY_TYPE);
            adapterPositionCategory = activity.getIntent().getExtras().getInt(INTENT_KEY_SELECTED_CATEGORY_POSITION);
        }

        setType(type);

        setPriceSeekbar();

        setRvDuration();

        Helper.adjustResize((AppCompatActivity) context, scrollView);

        fragmentView = view;

        Helper.logDebug(TAG,"inside fragmentView == null");

        return view;
    }
}

here is screenshots of two fragments

...