java - 如何使用 BottomNavigationBar 保存 fragment 的状态?

标签 java android fragment

我有带有五个选项卡的 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/

相关文章:

java - 使用 Guava Joiner 连接数组并包装每个元素

java - Mahout 0.9 和 Hadoop 2.2.0 - 找到接口(interface) org.apache.hadoop.mapreduce.JobContext,但类是预期的

java - 当通过鼠标更改值时,JList 会触发 valueChanged 两次

java - 如何检查两个EditText是否包含文本

Android fragment 对话框在使用 weightSum 时似乎忽略了 layoutMargin 或 layoutWidth

java - JTextArea 中特定文本的 ActionListener?

java - 输入第二个数字后如何在编辑文本字段中设置固定小数?类似于显示 00.00 的 ATM 机屏幕

android - 设备摄像头方向,不包括设备横向/纵向方向

android - 尝试进行 fragment 导航,但 android studio 想要引用一个不存在的文件

android - Kotlin : Casting an object to Generic class