草庐IT

Jetpack学习之ViewModel、Lifecycles、LiveData

全部标签

php - 修改 WordPress Jetpack 插件以使用 'Class' 而不是 'ID' 属性

我想要实现的目标:为同一页面上的多个列启用无缝和同时无限滚动,每个列都在引入一组不同的内容,即一列显示最新的帖子,而另一个显示来自特定标签的最新帖子。每一列都使用不同的循环,这样它们就不会相互混淆,这是我使用的代码(只是为了让您了解我是如何做的):文件:index.php(codealsoonpastebin)">"title=""rel="bookmark">"title=""rel="bookmark">-->have_posts()):?>have_posts()):$latest_highlights->the_post();$the_highlights_counter++;

android - 在 Repository 和 ViewModel 之间共享相同的 MutableLiveData

我正在全神贯注于架构组件/MVVM。假设我有一个存储库、一个ViewModel和一个Fragment。我使用Resource类作为包装器来公开网络状态,如Guidetoarchitecturecomponents中所建议的那样.我的存储库目前看起来像这样(为简洁起见进行了简化):classMyRepository{fungetLists(organizationId:String){vardata=MutableLiveData>>()data.value=Resource.loading()ApolloClient().query(query).enqueue(object:Apol

c# - MVVX无法从MvxDefaultViewModelLocator初始化ViewModel

我正在尝试使用mvvx创建一个移动应用程序。尝试运行Droid应用程序时出现以下错误。mvvmcross.platform.exceptions.mvxexception:未能为totheday.viewmodels.loginviewmodel类型从定位器mvxdefaultviewmodelocator构造和初始化viewmodel-有关详细信息,请检查innerexception下面是内部异常的详细信息。mvvmcross.platform.exceptions.mvxexception:未能为totheday.viewmodels.loginviewmodel类型从定位器mvx

java - 为什么 LiveData setValue 或 PostValue 在 View 中只触发一次 onChange?

LiveDatasetValue应该已经触发了Activity中的onChanged方法,但是它只在第一次调用,在我尝试进行分页之后,它中断并且不再调用onChanged,尽管我的响应确实成功并且我在日志中看到它。setValue/postValue有什么问题?这是一个错误吗?我应该自己实现观察者模式吗?那么使用LiveData有什么意义呢?我的寻呼仅在这已经2-3天后不起作用.....MainActivity类publicclassMainActivityextendsAppCompatActivityprivateMutableLiveData>mLivePhotos;//some

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

android - 使用 Realm 和 LiveData。将 LiveData<RealmResults<CustomModelObject>> 转换为 LiveData<List<CustomModelObject>>

我正在试用Realm以及包括LiveData在内的Android架构组件。我一直在关注Google的应用程序架构指南:https://developer.android.com/topic/libraries/architecture/guide.html...用Realm代替Room。我有一切工作使用:LiveData>从我的存储库层直接通过ViewModel到View。我认为从存储库返回更多通用类型可能会更好,所以LiveData>而不是LiveData>.这是我遇到问题的代码fragment:@NonNull@OverrideprotectedLiveData>loadFromD

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