Компонент архитектуры навигации, фрагмент, содержащий список, показанный с самого начала при возвращении из другого фрагмента - PullRequest
4 голосов
/ 02 июля 2019

Сценарий: Предположим, что нижняя панель навигации содержит Home фрагмент, который может открыть другой фрагмент, скажем Список продуктов .Из фрагмента списка продуктов пользователь может открыть фрагмент Сведения о продукте , чтобы просмотреть сведения о любом элементе.

Проблема: Предположим, пользователь прокрутил список в Списке продуктовфрагмент и достиг 100-го элемента и коснулся элемента, чтобы увидеть его детали во фрагменте Product Detail.Теперь, когда пользователь нажимает кнопку «Назад» для возврата во фрагмент списка продуктов, список отображается с самого начала.

Есть ли способ или способ обойти эту проблему.Я хочу показать сотый элемент пользователю при возвращении.

Переопределенный метод Onstart (), OnCreateView (), OnViewCreated (), OnResume () фрагмента Product Listing выполняются при возврате из фрагмента Product Detail.

View view;
Unbinder unbinder;
@Override
    public View onCreateView(@NotNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        if (view == null) {
            view = inflater.inflate(R.layout.product_listing_screen, container, false);
            return view;
        } else {
            return view;
        }
    }

@Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        Timber.e("%s onViewCreated Called ", TAG);
       unbinder = ButterKnife.bind(this, view);
    }

    @Override
        public void onResume() {
            super.onResume();
            Timber.e("%s onResume Called ", TAG);
     if (adapter == null || adapterList.size() == 0) {
                updateProductListingCategory(itemId); // This is the method making a web request. And while coming back from detail fragment, it isn't called again.
                }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...