jjzjj

viewmodels

全部标签

android - 在 ViewModel 和 Fragment/Activity 交互和通信之间应用 MVVM

我投入了大量时间来正确理解架构组件以及一切如何适应MVVM模式。到目前为止,这是我的看法(没有进行Dagger注入(inject),因为我还没有做到这一点):a)UserEntity是一个带有@Entity注解的类,用于处理Room的表创建@Entity(tableName="users")publicclassUsers{privatelongid;privateStringname;}b)User模型中的pojo类以在应用程序周围使用它,并根据需要具有补充字段。publicclassUser{privatelongid;privateStringname;privateListro

RecyclerView Adapter 中的 Android ViewModel 用于惰性数据库下载

我有一个问题与MVVM的正确设计和架构有关,而不是与编码本身有关。在我的项目中,我遇到了ViewModel正在提供数据的情况,这些数据后来在RecyclerView.Adapter中用于创建正确的View。但是我想知道这是否也是正确的(从正确的“做事方式”POV)如果一些数据以id的形式提供以便从Room或外部服务器进一步获取?例如,在onBindViewHolder期间使用一些带有observe()的LiveData在成功加载时更新某些字段。 最佳答案 在View中获取数据是不行的。它违背了MVVM的初衷,尤其是AndroidJe

android - 带有 viewmodel 和实时数据的 ViewPager,所有 6 个选项卡数据都被最后一个选项卡数据替换

我正在开发一个带有6个tabs的ViewPager,其中它只有一个fragmentTimesListFragment根据传递给TimesListFragment的参数,它调用api例如;科学、技术、旅游等我已经为我的应用关注了Google的GithubBrowserSample我有TimesListFragment->TimesViewModel->TimesRepository有6个选项卡,当我点击api时,所有选项卡显示相同的结果,如果是最后一个argumentStoriesPagerAdapter.ktclassStoriesPagerAdapter(fragmentManage

Android 架构组件 ViewModel 上下文问题

我正在尝试在Android中使用新的架构组件,到目前为止它运行良好。但是,我遇到了架构问题。我有一个MainActivity,它承载了一堆fragment,A、B和C。到目前为止,每次我需要我的ViewModel(VM)时,我都会在MainActivity的上下文中获取它(如下所示:MyViewModelvm=ViewModelProviders.of(getActivity()).get(MyViewModel.类);)。现在考虑一下:fragmentC让用户选择一些值,并将其写入VM。fragmentA使用fragmentC让用户选择值,然后A直接从VM并将其显示在其UI中。fra

android - 从 ViewModel 观察存储库 LiveData 并通知 UI

Google表示不可能从ViewModel观察LiveData:[...]HoweverViewModelobjectsmustneverobservechangestolifecycle-awareobservables,suchasLiveDataobjects.[...]我会在ViewModel中处理repo.login()结果并通知UI认为这两个SingleLiveEvents,这可能吗?classRepository{//....//funlogin(user:String,password:String):LiveData{/*...*/}}classLoginViewMo

android - MvvmCross Navigate to ViewModel on Android 通知点击

我正在使用Support.V7.NotificationCompat显示通知。单击此通知时,我想导航到ViewModel。当我尝试使用MvxViewModelRequest显示ViewModel时,我传递给ViewModel的导航参数不起作用,但当我像这样使用ShowViewModel时它有效:ShowViewModel(new{id=existingModification.Id});这是ViewModelInit方法。当我使用ShowViewModel导航时,Guid具有正确的值。当我使用MvxViewModelRequest导航时,Guid始终具有值Guid.Empty(全为0)

Android 的 ViewModel 和 MVVM

有一种称为MVVM(模型-View-View模型)的设计模式,其中使用View模型作为View的抽象。ViewModel应该向View公开数据流并与Model的数据交互。但是有一个ViewModelAndroid框架中的类。问题:Android的ViewModel与MVVM模式中的View模型有关吗? 最佳答案 它们是不同的。Android所指的ViewModel就是。TheViewModelclassisdesignedtostoreandmanageUI-relateddatasothatthedatasurvivesconfi

Android:在 ViewModel 中获取 DAO

在ViewModel中获取AndroidRoomDAO的最佳方式是什么?基于paginglibrary例如我写了这个ViewModel:classMyViewModel(myDao:MyDao):ViewModel(){valdata=myDao.get().create(/*initialloadposition*/0,PagedList.Config.Builder().setPageSize(50).setPrefetchDistance(50).build())}然后我尝试获取一个实例valviewModel=ViewModelProviders.of(this).get(My

跨 Activity 的 Android 组件 ViewModel

在AndroidComponents中,我可以将应用程序类作为ViewModel的所有者,以便我在多个Activity中使用它吗?还是没有走动?ViewModelProviders.of(applicationclassnotactivity).get(MyViewModel.class); 最佳答案 Application不是LifecycleOwner,因此您不能将它用作ViewModel的作用域。 关于跨Activity的Android组件ViewModel,我们在StackOve

android - 如何使用 Dagger 2 以最少的样板访问 ViewModel 中的 Arguments/Extras Bundle?

我正在将我的应用程序转换为使用ViewModel。为了实例化ViewModel,我使用自定义Factory和Dagger2进行依赖注入(inject)。它看起来像这样:@SingletonclassViewModelFactory@Injectconstructor(privatevalviewModels:Map,@JvmSuppressWildcardsProvider>):ViewModelProvider.Factory{overridefuncreate(modelClass:Class):T=viewModels[modelClass]!!.get()asT}@Target