Даже если вы не разместили никакого кода, который действительно бесполезен, я собираюсь предположить , что вы отображаете свой RecyclerView
внутри фрагмента и что в onCreate своей деятельности вынаберите следующую строку:
getSupportFragmentManager()
.beginTransaction()
.add(frameLayout, fragment)
.commit();
Одна из приятных особенностей FragmentManager заключается в том, что он сохраняет ваши фрагменты даже после поворота экрана, чтобы содержимое не изменялось.Это происходит всякий раз, когда savedInstanceState
не равно нулю.
Это означает, что если вы просто добавите свой фрагмент с проверкой сохраненного состояния, он будет помещен поверх фрагмента, который сохранил менеджер, и это то, что выделают.Однако использование этой функции для поддержания состояния требует немного усилий по написанию кода, и я не могу вам с этим помочь, поскольку не знаю, как выглядит ваш код.Итак, самое простое решение - просто изменить add
на replace
.
getSupportFragmentManager()
.beginTransaction()
.replace(frameLayout, fragment)
.commit();
Это говорит менеджеру: «Меня не волнует сохраненное состояние. Если там был фрагмент ранее, просто удалитеэто перед добавлением этого. "