Fragment生命周期中保留实例的唯一区别是onCreate()
不会调用。但在这种状态下,View还没有膨胀。
我何时必须使用loadNews()
调用片段Presenter
的{{1}}等方法?我只想在创建片段的新实例时才setRetainInstance(true)
。
答案 0 :(得分:1)
在Fragment.onViewCreated()
中执行此操作,因为此时您可以确定UI(View)已初始化并准备好显示内容(否则,即调用view.showLoading()的演示者将导致NullPointerException)。但是你必须自己确保只在第一次调用loadingData(即检查是否bundle == null
)
如果您使用Mosby的ViewState功能,请覆盖onNewViewState()
方法并致电presenter.loadData()
。 Mosby在第一次出现View时才会调用此方法,因此您不必自行检查是否bundle == null
。