草庐IT

Jetpack-MVVM

全部标签

android - MVVM 通知 View 加载状态

我现在正在使用Google提供的LiveData,他们建议使用MVVM模式设计。对于我的一些请求,我使用RxJava2,并在SubscribeWith(...)中监听响应。例如,当我按下按钮将一些数据发送到远程数据源时,我正在显示一些加载动画并想将其隐藏在onComplete()事件(在subscribeWith(...)中).问题是我无法从ModelView访问View。如何让View知道应该隐藏加载动画?我目前的想法是在ViewModel中创建接口(interface)并在View中实现它。但它破坏了View和ViewModel分离的概念。 最佳答案

CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)

 本系列文章导航https://www.cnblogs.com/aierong/category/2297596.html  0.说明CommunityToolkit.Mvvm包(又名MVVM工具包,以前名为Microsoft.Toolkit.Mvvm)是一个现代、快速且模块化的MVVM库。它支持:.NETStandard2.0、.NETStandard2.1和.NET6(UIFramework不支持) 文档地址:https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/github:https://github.com/Co

CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)

 本系列文章导航https://www.cnblogs.com/aierong/category/2297596.html  0.说明CommunityToolkit.Mvvm包(又名MVVM工具包,以前名为Microsoft.Toolkit.Mvvm)是一个现代、快速且模块化的MVVM库。它支持:.NETStandard2.0、.NETStandard2.1和.NET6(UIFramework不支持) 文档地址:https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/github:https://github.com/Co

Android Jetpack 导航库和 onActivityResult

我正在尝试将应用程序迁移到新的NavigationArchitectureComponent这是在GoogleIO'18上宣布的假设我需要使用通常以startActivityForResult启动的Activity。此Activity来自库或系统Activity,因此我无法修改它。有什么方法可以将此Activity作为目的地包含在导航图中并从中获取结果吗? 最佳答案 到目前为止,我唯一的解决方案是将该Activity包装在捕获结果的fragment后面,然后将其呈现给导航图:classScannerWrapperFragment:F

android - Android MVVM 中的上下文

我已经开始研究Android应用程序的MVVM架构。我怀疑将上下文传递给View模型是否正确?如果不是,那么我的View模型如何在需要时访问上下文。我正在做以下事情:使用一些EditText提供数据。将此数据发送到View模型。查看模型将此数据发送到存储库将此数据存储到设备的共享首选项的存储库。因为共享首选项需要上下文来实例化对象。我是这个架构的新手,任何指导都会对我有所帮助,在此先感谢。 最佳答案 我认为使用ApplicationContext是可以的,您可以从AndroidViewModel扩展您的ViewModel,并且每当您

android - 如何使用 material.BottomNavigationView 设置 Jetpack 导航

我无法使用com.google.android.material.bottomnavigation.BottomNavigationView设置导航组件,它给出了一个错误。这是我尝试使用的代码//SetupbottomnavigationviewNavigationUI.setupWithNavController(bottom_navigation_view,findNavController(R.id.main_nav_host_fragment))当我打开NavigationUI类时,我注意到它只接受旧的android.support.design.widget.BottomNa

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

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

android - Jetpack 导航 : Title and back/up arrow in the action bar?

我已经安装了最新的Canary版本的AndroidStudio,并按照此(https://developer.android.com/topic/libraries/architecture/navigation/navigation-implementing)说明实现了一个简单的两页导航。基本上page1有一个按钮,当它被点击时,应用程序显示page2。它可以工作,但有一个问题......它似乎没有自动对操作栏执行任何操作。导航库是否应该自动在操作栏上显示向上/向后箭头和“标签”属性?还是我应该像以前一样手动完成所有工作?我想在显示page2时在操作(工具)栏上显示后退箭头和“详细信

android - 如何使用 DataBinding Framework MVVM 在 EditText 上设置错误

我正在使用Android数据绑定(bind)框架,我假设有一个用于登录表单的EditText,用户名如下所示我也定义了LoginViewModel但我需要帮助如何在用户输入错误的电子邮件地址时在编辑文本中设置错误在某些事件中让我们在里面说publicvoidafterTextChanged(@NonNullfinalEditableeditable)因为据我所知,在传统的Android方法中,我们可以通过et.setError()方法以编程方式执行此操作,但我不想通过Activity或Fragment创建edittext对象。 最佳答案

Android Jetpack 导航 : How to get fragment instance of destination in OnNavigatedListener?

我在android开发中使用Jetpack导航组件(一个Activity,许多fragment)。我想在OnNavigatedListener中获取目标的fragment实例,如下所示。这可能吗?classMainActivity:AppCompatActivity(){privatelateinitvarnavController:NavControlleroverridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(this,R.layout.acti