问题标签 [android-mvvm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 使用带有复选框的android双向数据绑定
我正在尝试在片段中databinding
使用android 双向。
我在custom中有多个片段,在 first 中有一个。
我有一个带有以下代码的复选框:checkBox
viewPager
FragmentStatePagerAdapter
viewModel
fragment
在视图模型中:
当我走到最后fragment
并返回第一个时,checkBox
不再选中,复选框的颜色为真,但复选图标不存在!以前有人遇到过这个问题吗?
提前致谢
android - 在 MVVM 架构中从 ViewModel 启动 Activity 的最佳方法
我在应用程序中关注 MMVM 架构,一切正常,直到我使用以下代码从 ViewModel 启动活动时崩溃。方法是使用数据绑定从 XML 调用并view
作为参数传递的,并且getApplication()
是AndroidViewModel
类中的方法。
我相信这是因为我没有使用 NEW_TASK 标志,因为我在 Activity 类之外开始活动。
现在有以下我能想到的解决方案,但从架构的角度来看,我不确定哪一个是最好的。
1. ViewModel 带有一个方法,该方法Activity
作为参数并从片段中调用该方法
现在在片段中添加一个类似这样的监听器
2. 为意图添加一个新任务标志并将其保存在 ViewModel 本身中
3.从fragment本身启动Activity
我相信所有这些方法都可以正常工作,但要记住一个问题
是否可以在 Fragment 中单独设置侦听器以使用绑定的 ViewModels 从视图 xml 调用方法?
我不确定第二种方法是否仍会使某些操作系统中的应用程序崩溃。
从架构的角度和单元测试的角度来看,哪一种是最好的方法?
android - 在Android中,如果我使用绑定,如何应用ClickableSpan?
我知道如果没有应用绑定,那么我可以使用Textview.setText(ClickableSpan)
spannig 效果来使部分文本可点击。但是,我的应用程序使用了绑定,并且 textview 的文本被绑定到 xmlandroid:text="@{model.certainString}"
中的 ViewModel 和我声明的 ViewModel 中String certainString = ""
,在这种情况下,我如何在 ViewModel 中应用跨越呢?
android - 使用 mvvp 结构中的数据绑定导航到另一个活动
我正在学习数据绑定库,对此我完全陌生。我的问题是如何导航到数据绑定的另一个活动。
我可以像我们在 MVC 中那样做吗?或者我必须把代码放在 ViewModel 中。请帮我。
这是我的代码。
活动:
XML:
我需要将 onclick 代码放在视图模型中吗?如果是,那么该怎么做?
android - 如何使用数据绑定在 MVVM 中设置适配器
我是 MVVM 和 DataBinding 的新手。我已经设置了 ViewHolder 和 Adapter。现在我不知道如何在活动中设置适配器。我应该使用另一个 ViewModel 来填充对象的数组列表吗?如果是,那该怎么做?
我实现的代码如下:
分数活动:
评分视图模型
android - recyclerview 上没有显示数据
我正在学习 mvvm 结构,并使用 mvvm 结构制作了一个应用程序。我也用过房间RxJava
。
代码
在这里,我可以看到日志中打印的大小是正确的。但我在这里看不到项目。
活动分数
现在,ScoreViewModel
和ScoreAdapter
视图持有者
现在,我的问题是为什么我看不到 recyclerview 项目。当我在不使用空间的情况下设置数据时,它非常有效(不从数据库中获取数据,而是静态地创建和添加 ScoreDataViewModel 对象)。我哪里做错了?或者我这样做的方式是错误的?请帮助我,因为我对房间、rxjava 和 mvvm 完全陌生。
如果您提出要求,我还可以编辑问题并添加更多信息。请帮我。
注意:scoreAdapter.notifyDataSetChanged()
方法不起作用。
android - 使用 room 和 mvvm 添加记录和通知活动的正确方法
我正在学习 android mvvm 结构,在实现它时我有疑问。我正在使用房间在数据库中插入一个用户对象。但是,我不知道插入成功后如何通知活动。
我试图实现它。但是,它没有用。让我展示我的代码。
注册活动
注册视图模型
我在从视图模型打印的日志中获得了正确的名称和密码值,但是该记录没有添加到按钮上的单击事件中,也没有通知有关成功或失败的活动。在这种情况下该怎么办?
请指导我,因为我是 mvvm 的新手并正在学习它。
android - 错误:找不到 ActivitySplashBinding
我正在尝试检查用户是否已登录。如果是,则显示特定的视图组,否则显示不同的视图组。要检查用户是否已登录,我正在从共享首选项中获取用户(登录时用户保存在共享首选项中)。让我展示我的代码。
飞溅视图模型
活动飞溅
飞溅活动
但是当我尝试运行时,它给了我以下错误。
错误:找不到符号类 ActivitySplashBinding
有人可以帮我吗?
android - 如果存在则更新记录,否则在 Room 中插入新记录
我是 Room、Rxjava 和其他 android 架构组件的新手。我正在尝试更新/插入 2 条记录(如果行已经存在,请更新它。否则插入一个新行。)我尝试按以下方式进行操作。但是,我没有工作。
游戏活动:
游戏视图模型:
本地用户数据源
道访问
问题是,当我尝试运行时,如果我尝试在 GameViewModel 类的以下行中插入任何不在数据库中的用户,则会发生 NullPointer 异常。
谁能告诉我我错在哪里或我该怎么办?
编辑
我想要做的是首先获取一个用户,如果它在数据库中,更新增加或减少分数(如果获胜者则 +1 获胜列,如果失败者则 +1 损失列)。如果用户在表中不存在,则创建一个新条目。
android - 如何使用数据绑定请求或移除对 edittext 的关注
我正在学习结构并使用结构mvvm
制作应用程序。mvvm
data binding
现在,我想做的是,我想从 sharedpreference 中获取一个用户,如果我成功获取了一个用户,我会将 usr 的名称设置为edittext1
. 在这种情况下,我想请求关注 edittext2。
如何使用数据绑定来实现?(以这样的方式,我不必使用活动。这项工作应该只使用视图模型和 xml 来完成。)
我已经尝试过使用以下方式。
开始游戏视图模型
activity_start_game.xml
开始游戏活动: