当前位置: 首页 > 知识库问答 >
问题:

利用ViewModel获取Android片段中的实时数据

温嘉玉
2023-03-14

我需要观察Modelview中的livedata更改来更新片段(将列表添加到RecycerView中)。

该实现工作正常,但在片段之间切换时面临问题。

并试图将观察者移除为:mviewModel.getDetails().removeObservers(getViewLifecycleOwner())mviewModel.getDetails().removeObservers(this)mviewModel.getDetails()mviewModel.getDetails().removeObserver(mObserver)尝试在onviewCreated

是什么导致了这一点,为什么删除观察者不起作用?

供参考:

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

共有1个答案

景永望
2023-03-14

尝试在mviewModel.getDetails().RemoveObservers(getViewLifecycleOwner())之后将该值设置为null。mviewModel.getDetails().SetValue(null)

 类似资料:
  • 这就是我在每个片段中获取viewmodel的方法。(我不想发布所有其他无关的代码)

  • 我使用单个viewModel来处理活动和它的所有片段。 但当我尝试在应用程序中使用时,却找不到它们的引用。 我想要帮助如何使用这些扩展的一些基本的例子,我尝试搜索的例子没有找到任何。

  • 我正在实现一个片段,该片段调用两个。

  • 本文向大家介绍Android利用Intent实现读取图片操作,包括了Android利用Intent实现读取图片操作的使用技巧和注意事项,需要的朋友参考一下 本文实例演示如何从图库(Gallery)中读取图像并用ImageView将它显示出来,供大家参考,具体内容如下 运行本示例前,需要先利用相机模拟拍摄一些图片到图库中。 1、运行截图    2、主要设计步骤 (1)添加ch1203_ReadGal

  • 我有一个DialogFragment,它使用FragmentPagerAdapter来显示选项卡。每个选项卡都有一个使用RecyclerView的不同片段。我可以获取单击后传递给片段的项目,但如何才能将数据从片段获取到DialogFragment,以便将其传递给调用活动? TabDialog扩展DialogFraank: TabAdapter扩展了FragmentPagerAdapter 在Fra

  • 本文向大家介绍android利用消息机制获取网络图片,包括了android利用消息机制获取网络图片的使用技巧和注意事项,需要的朋友参考一下 在前面都写到用AsyncTask来获取网络中的图片。其实利用消息机制也能获取网络中的图片,而且本人感觉用消息机制还是挺简单的。 消息机制的图解:    下面就用看代码来理解上面的图片。 布局:activity_main.xml MainActivity.jav