Presenter:何时使用setRetainInstance(true)片段启动异步工作

时间:2016-06-23 16:55:54

标签: android android-fragments mosby

Fragment生命周期中保留实例的唯一区别是onCreate()不会调用。但在这种状态下,View还没有膨胀。

我何时必须使用loadNews()调用片段Presenter的{​​{1}}等方法?我只想在创建片段的新实例时才setRetainInstance(true)

1 个答案:

答案 0 :(得分:1)

Fragment.onViewCreated()中执行此操作,因为此时您可以确定UI(View)已初始化并准备好显示内容(否则,即调用view.showLoading()的演示者将导致NullPointerException)。但是你必须自己确保只在第一次调用loadingData(即检查是否bundle == null

如果您使用Mosby的ViewState功能,请覆盖onNewViewState()方法并致电presenter.loadData()。 Mosby在第一次出现View时才会调用此方法,因此您不必自行检查是否bundle == null