【问题标题】:How to use popUpToSaveState and restoreState to save and keep state in Navigation Component Android Kotlin?如何使用 popUpToSaveState 和 restoreState 在导航组件 Android Kotlin 中保存和保持状态?
【发布时间】:2021-08-26 04:07:48
【问题描述】:

我正在使用Navigation Component 处理导航,但是当使用popBackStack()onBackPressed() 返回上一个片段时,我的onViewCreated 再次使用api 在片段中调用并设置视图。
由于Navigation Component 2.4 推出了新功能(popUpToSaveState and restoreState),我想使用它。请告诉我怎么做?

【问题讨论】:

标签: android android-studio kotlin navigation savestate


【解决方案1】:

你应该使用viewModel来解决这个问题,viewmodel不会再次调用并在viewmodel中编写你的api调用代码。

Class TestViewModel:ViewModel(){

 init{
   apiReqest()
}

private fun apiReqest(){
 // write here your api request code and observe it on view using observer
} 

}

【讨论】:

    【解决方案2】:

    即使您保存状态 onViewCreated 也会被调用。

    你需要用来保存状态。

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
    }
    

    并在 onCreate 上恢复它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      相关资源
      最近更新 更多