繁体   English   中英

如何使用 BottomNavigationBar 保存片段的 state?

[英]How to save state of fragment with BottomNavigationBar?

我有带有五个选项卡的 BottomNavigationBar。 在那个片段中,我正在从服务器加载数据。 我的问题是 Fragment 每次都会在更改选项卡上加载数据。 我不想每次都加载数据。

我知道可以使用onSaveInstanceState() ,但保存少量数据很有用。

还有一件事,应用程序中有所有碎片,所以无法为我的问题找到任何解决方案。 任何帮助,将不胜感激

主要活动:

 private boolean loadFragment(Fragment fragment) {
    if (fragment != null) {
        getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.fragmentContainer, fragment)
                .commit();
        return true;
    }
    return false;
}

您是否使用 MVVM 架构模式编写应用程序? 如果是这样,我认为您可以使用Shared ViewModel
Android 文档。 在片段之间共享数据
Stack Overflow:使用新的架构组件 ViewModel 在片段之间共享数据
我认为这可能会对您有所帮助。 如果您在 ViewModel class 中加载数据,即使您的应用程序停止,您也可以在所有片段中使用它您不必再次加载它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM