Проблема: оставшийся в живых процесс приложения завершается (правильное сохранение экземпляра объекта презентатора, чтобы его можно было использовать позже)
Вот простой пример фрагмента, который использует архитектуру MVP.
class xFragment : BaseFragment() {
private lateinit var xPresenter: xPresenter
override lateinit var xAdapter: BaseAdapter
override fun onResume() {
super.onResume()
xPresenter.view = this
xAdapter = xAdapter(
xPresenter,
this,
this
)
recyclerView.adapter = contentAdapter
}
override fun onPause() {
super.onPause()
}
override fun onDestroy() {
if (xPresenter.view != null) xPresenter.view = null
super.onDestroy()
}
override fun onDeleteButtonClicked() {
x.onDeleteButtonClicked()
}
companion object {
@JvmStatic fun createInstance(presenter: xPresenter): xFragment {
val fragment = xFragment()
fragment.xPresenter = presenter
return fragment
}
}
Я прочитал, что лучшее решение для сохранения чего-либо - это сделать в onPause()
и восстановить в onResume()
. Как видите, я передаю свой Presenter, когда создаю свой фрагмент в методе "createInstance". Как сохранить xPresenter
, чтобы я мог сохранить его позже в onResume и продолжить без ошибок?