Android 应用程序的 ViewModel getSingle(id) 返回 null(Kotlin Room 数据库)
我有一个使用最新依赖项和带有 Kotlin DSL 的 Gradle 8.3 的应用程序。 ViewModel 工作正常,可以从 Room 本地 SQLite 数据库检索所有数据。但不适用于检索单个
将 Hilt 版本从 2.33-beta 迁移到 2.35 后,我的项目已停止构建,并出现以下错误: txt版本: 错误:无法访问 DefaultActivityViewModelFactory 类...
在 Jetpack Compose Navigation 中共享 viewModel
任何人都可以建议如何在 Jetpack Compose Navigation 的不同部分中共享 ViewModel 吗? 根据文档,viewModels 通常应该在不同的 compose 中共享
MutableStateFlow 在启动应用程序或更改数据库后不发出值
我是android开发和使用房间库创建笔记应用程序的新手。我在 viewModel 中使用 MutableStateFlow 来观察数据库中的数据。但是 MutableStateFlow 没有发出值...
Jetpack Compose 显示来自 lambda 的值
我基本上有一个可组合函数,其中 lambda 返回一个文本可组合项应该显示的值。 数据类 CustomUiState( val 查找列表:HashMap 我基本上有一个可组合函数,其中 lambda 返回一个文本可组合项应该显示的值。 data class CustomUiState( val lookupList: HashMap<UUID, MutableList<String>> = HashMap() ) class CustomViewModel( ): ViewModel() { private val _uiState: MutableStateFlow(CustomUiState()) val uiState: StateFlow<CustomUiState> = _uiState.asStateFlow() fun getValue(index: Int) { // complex lookup with lookupList return ... } fun updateValue(i: Int, s: String) { _uiState.update { state -> state.copy( // Update lookupList with new value lookupList = ... ) } } } @Composable fun Screen(viewModel: CustomViewModel) { Widget( value = { viewModel.getValue(it) }, onValueChanged = { i, s viewModel.updateValue(i, s) } ) } @Composable fun Widget( value: (Int) -> String, onValueChanged: (Int, String) -> Unit ) { LazyRow() { items(4) { // This does not work // Because Compose do not recompose when value(it) changes Text( text = value(it), //lots of other configurations ... ) } } } 我尝试过谷歌搜索,但没有成功。 我需要更改什么才能使其正常工作? 添加文本只是因为 StackOverflow 不允许我在问题中发布过少的文本。 以这种方式更改代码,看看它是否会根据值更改进行重组。 LazyRow() { items(4) { // This does not work // Because Compose do not recompose when value(it) changes var textValue by remember(value(it)) { mutableStateOf(value(it)) } Text( text = textValue, //lots of other configurations ... ) } }
Android:Jetpack Compose:如何获取 Composable 内 StateFlow 值更改的通知?
我有一个 ViewModel,其中包含以下列表作为 StateFlow 私有 val _mutableStateTopicItemList = MutableStateFlow>(listOf()) val stateTopicItemList =
在 SnapshotStateList 中添加单个项目会导致所有可见项目重新组合
我有一个场景,将项目添加到 ViewModel 内的 SnapshotStateList 中。此项目列表使用 UI 中的 LazyColumn 显示。 这是我的 ViewModel 类 类 MainView...
我是Android开发初学者,不知道如何解决这个问题。 有一个简单的视图模型,其中包含 1 个变量: var testQuestionsAmount by mutableStateOf(10) 私人套装 ...
为什么lifecycleScope不等待viewmodelscope完成?
我想要一个按钮在导航到另一个片段之前执行viewmodel的方法,但似乎它并没有等待所有挂起功能完成后才更改屏幕: 视图.类
在我的用例中,我使用与一些常见观察者共享的视图模型。当三个片段添加到返回堆栈时,视图模型将观察到所有三个片段。然而,我只需要...
我正在使用 Android Jetpack 的 Compose,并且一直在尝试找出如何保存方向更改的状态。 我的思路是让一个类成为 ViewModel。因为当我
我已经实现了互联网上提供的所有依赖项,但仍然无法解决问题。引用了此链接以及 stackoverflow 上的其他链接,但无法解决问题。 我面临着...
所以我的房间数据库中的DAO包含这个查询 @道 接口 RecordsDAO { //其他查询 @Query("SELECT * FROM BloodPressureRecords WHERE recordStatus IN (:list) ORDER BY create...
在Dagger中,如何将模型添加到Module中? 例如,我通过以下方式添加演示者: @模块 类 AboutModule(val appContext: Context) { @FragmentScope @提供 有趣
`有一个应用程序,用户将使用编辑文本提供纸杯蛋糕的数量,在下一个片段中,我想使用单选按钮组按钮提供所有纸杯蛋糕的口味选择,该按钮...
我需要执行4个并行请求。这是我的代码: 暂停乐趣 fetchAsyncData() = coroutineScope { valfirst = async {repository.taskFirst()} val Second = async {repository.taskSeco...
ViewModel LiveData 在 Android 中屏幕旋转后发出空列表
我遇到了有关屏幕旋转期间 ViewModel 中 LiveData 行为的问题。 我的应用程序围绕 MVVM 模式构建,包括一个观察 LiveData 的 Activity<
LiveData 在 ViewModel 测试期间返回 NullPointer IsMainThread 错误
尝试观察视图模型中的实时数据时,我的视图模型单元测试一直失败。我从文档中添加了两条规则,即:InstantTaskExecutorRule 和 MainCoroutineRule。我也注射...
如何在依赖于 MutableStateFlow 的 ViewModel 中维护密封类变体的状态
我有一个 UI 取决于密封类的值。根据密封类的类型,此 UI 元素具有不同的形式。此外,密封类的每个变体都包含
假设我的ViewModel中有一个myList:MutableList数据,我希望在我修改这个myList时界面能够自动观察到变化。 以下代码可以工作: 类