Fragment 生命周期中保留实例的唯一区别是onCreate()
不调用。但是在这种状态下,视图还没有膨胀。
我什么时候必须调用Fragment之类loadNews()
的方法?我只想在创建新的 Fragment 实例时才这样做。Presenter
setRetainInstance(true)
loadNews()
Fragment 生命周期中保留实例的唯一区别是onCreate()
不调用。但是在这种状态下,视图还没有膨胀。
我什么时候必须调用Fragment之类loadNews()
的方法?我只想在创建新的 Fragment 实例时才这样做。Presenter
setRetainInstance(true)
loadNews()
这样做是Fragment.onViewCreated()
因为此时您可以确定 UI(视图)已初始化并准备好显示内容(否则,即演示者调用 view.showLoading() 将导致 NullPointerException)。但是您必须自己确保 loadingData 仅在第一次被调用(即检查 if bundle == null
)
如果您使用 Mosby 的 ViewState 功能,则覆盖onNewViewState()
方法并调用presenter.loadData()
. Mosby 只会在 View 第一次出现时调用此方法,因此您不必bundle == null
自己检查是否。