lifecycle-viewmodel-ktx
全部标签 我正在尝试使用新的androidktx库提供的新viewModelScope()函数。在gradle文件中,我添加了:implementation'androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0'implementation'androidx.core:core-ktx:1.0.2'但是当我访问viewModelScope()时,我得到了Unresolvedreference:viewModelScope错误:classMainViewModel(application:Application):AndroidViewModel(app
我有ViewModel和DialogFragment用于查看此虚拟机。在核心中,我以这种方式显示VMthis.ShowViewModel();我在AnnotationEditDialogFragment.cs中有这段代码[Register("AnnotationEditDialogFragment")]publicclassAnnotationEditDialogFragment:MvxDialogFragment{...publicoverrideDialogOnCreateDialog(BundlesavedInstanceState){base.EnsureBindingCont
我已经创建了示例应用来演示我的问题:一个TextView和一个Button,TextView可见性绑定(bind)到viewModel.bar我希望按钮在单击时切换viewModel.bar的值,并且UI也得到更新。然而,这并没有发生。值已更改,但UI未更新。布局文件:MainActivity文件:classMainActivity:AppCompatActivity(){privatevalviewModel=MainViewModel()privatelateinitvarbinding:ActivityMainBindingoverridefunonCreate(savedIns
我正在探索Google的AndroidArchitectureComponents.在我的项目中,我依赖Services和IntentServices.与应用程序的ViewModel通信的正确方式是什么?来自IntentService或服务?使用LiveData可以实现吗? 最佳答案 TL;DR这是可以实现的——使用观察者关系。您的IntentService和可能的位置服务应该不知道您的ViewModel。考虑使用存储库。可以使用LiveData(参见postValue)。它有利于更新UI(ViewModel到Activity的通信
我正在尝试实例化一个ViewModel以在我的所有Activity中使用。publicclassLaunchActivityextendsActivity{privateControllercontrol;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_launch);control=ViewModelProviders.of(this).get(Controller.class);}}
我正在学习Android编程的新架构组件,但我很难理解Activity的职责是什么。我知道他们只应该处理UI,这是有道理的,但到什么程度呢?假设我有一个Activity,最初有一个EditText,用户可以在其中输入字符串。在此下方有一个按钮,用于添加另一个EditText供用户输入另一个String。这些数据应该如何在幕后处理?我提出的两个解决方案如下:1)处理ViewModel中的数据。用户点击按钮->Activity告诉ViewModel->ViewModel维护EditTexts列表->当用户完成后,Activity告诉ViewModel->ViewModel处理数据我看到这种
我正在构建一个定位应用程序,我在其中显示来self的MainActivity中的Room数据库的背景位置。我可以通过调用获取ViewModellocationViewModel=ViewModelProviders.of(this).get(LocationViewModel.class);locationViewModel.getLocations().observe(this,this);当我通过BroadCastReceiver接收位置更新时,周期性的背景位置应该保存到Room数据库中。它们应该通过调用locationViewModel.getLocations().setVal
查看ViewModel文档,它说:Inotherwords,thismeansthataViewModelwillnotbedestroyedifitsownerisdestroyedforaconfigurationchange(e.g.rotation).Thenewinstanceoftheownerwilljustre-connectedtotheexistingViewModel.如果引用它的Activity被销毁,ViewModel如何不被销毁?一旦我们创建了一个新的Activity,它是如何重新连接的? 最佳答案 幕后
目前,我们正在项目中使用LiveData、ViewModel和Room。我们正在使用Java8。我们在build.gradle中使用以下内容//ViewModelandLiveDataimplementation"android.arch.lifecycle:extensions:1.1.1"//Room(use1.1.0-beta1forlatestbeta)implementation"android.arch.persistence.room:runtime:1.0.0"annotationProcessor"android.arch.persistence.room:compi
我尝试理解ViewModel。我创建ViewModel:publicclassUsersViewModelextendsViewModel{privatefinalUsersRepositoryusersRepository;publicUsersViewModel(UsersRepositoryusersRepository){this.usersRepository=usersRepository;}publicLiveData>loadAll(){returnusersRepository.getAll();}}但我不明白两件事:如何将UsersRepository注入(inje