我在我的android项目中使用了导航图。在我的项目中包含注册、登录和底部导航视图中的Home片段。在Home片段调用api来获取记录列表。当我每次导航该片段时,它调用api,我想在它第一次导航时调用该api一次。关闭并重新打开应用程序后,它调用api。如何使用MVVM架构的导航图来实现这个功能?
为3个片段保留一个viewmedel
并将响应存储在viewmedel
中,并保留如下所示的标志。
class MainViewModel : ViewModel() {
private var _homeApiCalled= false
fun homeApi(){
if(!_homeApiCalled){
//call api here
_homeApiCalled=true
}
}
}
并从片段调用HomeAPI()
。
private static var _homeApiCalled = false
使用static关键字并在父级中定义此变量