我有带有五个选项卡的 BottomNavigationBar。在该 fragment 中,我正在从服务器加载数据。 我的问题是 fragment 每次都会在更改选项卡上加载数据。我不想每次都加载数据。
我知道可以使用onSaveInstanceState()
,但它对于保存少量数据很有用。
有一件事,应用程序内有所有 fragment ,因此无法为我的问题找到任何解决方案。任何帮助将不胜感激
主要 Activity :
private boolean loadFragment(Fragment fragment) {
if (fragment != null) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragmentContainer, fragment)
.commit();
return true;
}
return false;
}
最佳答案
您是否使用 MVVM 架构模式编写应用程序?如果是这样,我认为您可以使用Shared ViewModel
。
Android docs. Share data between fragments
Stack Overflow: Sharing data between fragments using new architecture component ViewModel
我想这可能对你有帮助。如果您在 ViewModel 类中加载数据,即使您的应用程序停止,您也可以在所有 fragment 中使用它,而不必再次加载它。
关于java - 如何使用 BottomNavigationBar 保存 fragment 的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62817591/