jjzjj

viewmodels

全部标签

android - 如何使用 MvvmCross fluent API 将 RecyclerView 项目的 TextView 绑定(bind)到 Android 上其 ViewModel 的属性?

我在我的XamarinAndroid项目中使用MvvmCross。我有一个带有MvxRecyclerView的MvxActivity,我在其布局文件中分配了一个项目模板。ViewModel非常简单,它只包含一个属性,该属性保存要在RecyclerView中显示的数据:publicclassMainViewModel:MvxViewModel{privateIEnumerable_viewModelItems;publicIEnumerableViewModelItems{get{return_viewModelItems;}set{SetProperty(ref_viewModelIt

Android - MVVM 中 ViewModel 状态的最佳实践?

我正在开发一个Android应用程序,它使用MVVM模式以及LiveData(可能是转换)和View和ViewModel之间的DataBinding。由于应用程序正在“增长”,现在ViewModels包含大量数据,并且大部分后者都保留为LiveData以让Views订阅它们(当然,UI需要此数据,无论是双向绑定(bind)还是每个EditTexts或单向绑定(bind))。我听说(并在谷歌上搜索过)有关在ViewModel中保留表示UI状态的数据的信息。然而,我发现的结果只是简单而通用的。我想知道是否有人有提示或可以分享有关此案例最佳实践的一些知识。简而言之,考虑到可用的LiveDat

android - 从 Fragment 返回时,ViewModel onchange 被多次调用

我正在处理Android架构组件。我想要的是当用户在Edittext中键入“0”并单击Button以用新Fragment替换Fragment时,如果键入任何其他内容,则发布Toast错误消息。问题是当我从新的Fragment(BlankFragment)返回并再次单击按钮并再次键入“0”并单击时,onchange()被多次调用所以Fragment是多次创建FragmentExample.class:@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceSt

Android ViewModel 调用 Activity 方法

我在我的项目中使用androidAAC库和Android数据绑定(bind)库。我有AuthActivity和AuthViewModel扩展了android的ViewModel类。在某些情况下,我需要请求Activity为ViewModel调用一些方法。例如,当用户单击在Activity类中初始化的GoogleAuth或FacebookAuth按钮时(因为要初始化GoogleApiClient,我需要无法传递给ViewModel的Activity上下文,View模型无法存储Activity字段)。在Activity类中实现的所有GoogleApi和FacebookAPI逻辑://goo

android - 我可以将 ViewModel 传递给 RecyclerView Adapter 并观察 LiveData 吗?

我开始实现MVVM,我不知道在我的Adapter中使用ViewModel是好的做法还是反模式.举个例子,考虑一个颜色列表和一个您将更改背景的图像。在这种情况下,我会观察所选颜色并绑定(bind)背景颜色以显示在UI中。但我在两个地方观察colorSelected:在Fragment中为了改变背景颜色在Adapter中显示选择了哪种颜色那么,当我将ViewModel传递并观察到​​Adapter时,我是否正确使用了MVVM? 最佳答案 我现在不确定它是否是一个好的模式,但是有一个问题:通过这种方式,您的适配器与您的ViewModel绑

android - 什么时候在 ViewModel 中处理 RxJava2 Disposable?

我正在使用ViewModel来self应用程序中的Android架构组件。在ViewModel中,我使用RxJava2订阅,我在订阅后保留Disposable对象。以前,当我在Activity中执行此操作时,我习惯于在onDestroy()中处理Disposable-以避免内存泄漏:@OverrideprotectedvoidonDestroy(){disposable.dispose();super.onDestroy();}我应该何时以及如何在ViewModel中处理它?我真的需要这样做吗? 最佳答案 使用onCleared方法

android - 将 viewModel 观察者放在 dialogFragment 的什么位置?

对于fragment它是advised将liveData观察者放在onActivityCreated方法中。这适用于fragment,但当我将其应用于dialogFragment时,出现以下错误:java.lang.IllegalStateException:Can'taccesstheFragmentView'sLifecycleOwnerwhengetView()isnulli.e.,beforeonCreateView()orafteronDestroyView().从这里question我读到dialogFragment在创建时的生命周期是:onAttachonCreateon

每个实体的 Android MVVM ViewModel 和存储库?

对于Android架构组件和MVVM模式,我有一些疑问。基于网络上的大多数示例,通常有简单的示例。有一个房间的实体@EntitypublicclassUser{...}拥有一个DAO@DaopublicinterfaceUserDao{...}有一个存储库publicclassUserRepository{}View模型publicclassUsersListViewModelextendsAndroidViewModel{....}现在让我们扩展它,在user旁边有user_access和user_actions例如,所以有3个表。问题:我为Room中的每个表创建实体。我应该为每个实

android - ViewModel 能否在 Activity 保存和恢复后继续存在?

如果以下列方式使用,新的ViewModel类的实例可以在配置更改后继续存在:mViewModel=ViewModelProviders.of(this).get(MyViewModel.class);但是,除了配置更改之外,还存在整个应用程序进程被杀死时的保存-恢复场景。ViewModel中的字段值是否会在保存-恢复场景中保留?编辑:基于对这个问题的回答,我写了这篇文章:AndroidViewModelArchitectureComponentisDangerous 最佳答案 根据ViewModelProvider文档(检查get方

android - 无法创建自定义 ViewModel 的实例

我正在使用dagger2库。每当我尝试运行我的项目时,都说无法创建View模型类的实例。我尝试创建实例的主要Activity((MovieApplication)getApplication()).getAppComponent().inject(this);mViewModel=ViewModelProviders.of(this).get(MoviesDataViewModel.class);我的工厂类publicclassViewModelFactoryimplementsViewModelProvider.Factory{privateMoviesDataViewModelmV