我在ViewModel中使用实时数据。我有一个场景,其中有两个fragment和一个Activity。fragmentA和fragmentB。在Activity中,我启动了FragmentA(它显示名称列表,即从后端获取),当我点击Name时,它显示FragmentB(这是返回堆栈)。现在,如果我在fragmentB中按下后退按钮,它会返回到fragmentA,它会显示一个空白屏幕,因为我已经在fragmentA的onCreate方法中实现了ViewModel。但是如果我在fragmentA的oncreateView方法中实现了ViewModel,它将继续添加观察者,因为fragm
目前需要LifecycleOwner才能创建观察者。我有在ViewModel中创建观察者的代码,因此在我的Fragment中检索ViewModel时我附加了LifecycleOwner。根据Google的文档。警告:ViewModel绝不能引用View、生命周期或任何可能包含对Activity上下文的引用的类。我是否违反了该警告?如果违反了,您建议我以何种方式移动我创建的数据返回观察者?我只做了一个观察者,所以我想知道它是否仍然有效。因为在谷歌的文档中它也说了。ViewModel对象可以包含LifecycleObservers,例如LiveData对象。主fragmentprivate
使用Retrofit我能够获取用户列表,但如果出现错误,我应该如何设法向UI发送通知。我在MVVM模式和Retrofit中使用Android架构组件“ViewModel”、“LiveData”作为网络库。 最佳答案 当网络请求成功完成时,您正在设置livedata的值。同样,在发生错误时将livedata的值设置为null,并在更新UI之前在Activity中检查null。进一步:如果你想向用户显示不同类型的错误。创建一个包含基本模型的基础模型类error_code、error_status等字段。
我是Android架构组件的新手,我已阅读this教程。我对它所说的部分感兴趣:ThisallowsyoutohaveanappthatopensalotofdifferentinstancesofthesameActivityorFragment,butwithdifferentViewModelinformation.Let’simagineifweextendedourCourt-Counterexampletohavethescoresformultiplebasketballgames.Thegamesarepresentedinalist,andthenclickingon
如今,LiveData非常流行,我如何使用ViewModel和LiveData将数据从Activity发送到fragment,反之亦然?请用编码示例进行解释。 最佳答案 Activity中publicclassMyActivityextendsAppCompatActivity{MyViewModelmyViewModel;Handlerhandler;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState)
前言前面的文章里面我们有介绍在Wpf中如何在View层将事件映射到ViewModel层的文章,传送门,既然WPF和Avalonia是两套不同的前端框架,那么WPF里面实现模式肯定在这边就用不了,本篇我们将分享一下如何在Avalonia前端框架下面将事件映射到ViewModel层。本章内容还是在上一节的基础上做扩展讲解。Avalonia中使用Prism实现区域导航功能安装行为扩展在Avalonia框架下面有它自己的行为扩展,我们需要借助这些扩展库里面的行为扩展来实现我们今天要讲解的功能。dotnetaddpackageAvalonia.Xaml.Behaviors--version11.0.5编
我需要为联系人请求权限,当应用程序启动时,我会询问,在ViewModel部分,我需要调用需要权限的方法。我需要检查用户是否授予权限然后调用,但是为了检查权限我需要访问Activity。而在我的ViewModel中,我没有对Activity的引用,也不想遇到这个问题,我该如何克服? 最佳答案 我刚遇到这个问题,我决定改用LiveData。核心概念:ViewModel有一个关于需要做出什么权限请求的LiveDataViewModel有一个方法(本质上是回调),如果权限被授予则返回SomeViewModel.kt:classSomeVie
AndroidArchitectureComponents提供LiveData和ViewModel类,它们对生命周期更友好,专为更精简的Activity/Fragment而设计。这些类处理跨配置更改的数据存储,但与Activity框架API相比,我对它们的使用感到困惑。onSaveInstanceState(Bundle)和onRestoreInstanceState(Bundle)对于保存Activity状态是否仍然必要或有用? 最佳答案 onSaveInstanceState和onRestoreInstanceState仍然有用
在我的android应用程序中,我遵循具有mvvm模式的架构组件。我的应用程序进行网络调用以显示天气信息。api调用是从存储库进行的,该存储库将响应的实时数据返回到View模型,而我的主要Activity又观察到它。除了一种情况外,该应用程序工作正常,每当我断开互联网以测试失败案例时,它都会根据需要扩大错误View在错误View中我有一个重试按钮,它使方法调用再次观察View模型(这个方法也是第一次被oncreate()调用,有效)即使在打开Internet并单击监听observable的重试按钮后,数据仍然变为空。我不知道为什么,请大家帮忙存储库@Singletonpubliccla
我在AndroidViewModel类中使用LiveData我需要等待响应,但在某些情况下我需要从本地检查一些值共享首选项,不会阻塞任何线程。对于这些场景,我没有使用LiveData。这就是我在activityclass中所做的。homeViewModel.sendTokenToServer().observe(this,isFCMSendToServer->{Toast.makeText(this,"FCMTokenObservercalled",Toast.LENGTH_SHORT).show();});//WithoutLiveDataif(homeViewModel.isUpg