android - Kotlin 中带有 LiveData 的 ArrayOfNulls
问题描述
我有一个自定义类卡。我用它来创建一个数组,arrayOfNulls()
如下所示:
var cards: Array<Array<Card?>?> = Array(n) { arrayOfNulls<Card?>(n) }
其中 n 是一个Int(Kotlin)
。
现在我需要在我的ViewModel
类中移动这个变量并将它包裹在一个LiveData
类中(最好是 MutableLiveData)。
我应该如何在我的AndroidViewModel
班级中声明和初始化卡片变量?
解决方案
创建一个 MutableLiveData 变量,用于包装您的卡片并将其作为类变量添加到您的 ViewModel 中:
val mutableLiveData = MutableLiveData<Array<Array<Card?>?>>()
您现在可以从 Fragment/Activity/... 访问和订阅此变量
要更改 mutableLiveData-Variable 的值,只需更改值:
mutableLiveData .value = cards
并且此 LiveData-Variable 的所有订阅者都将获得新值。
推荐阅读
- powershell - 如何使用 c# 运行 powershell 脚本
- http - 云环境中大型动态生成下载的强大解决方案?
- php - .htaccess 将 XAMPP 仪表板 (http://localhost:8080 ) 或特定 IP 地址 (http://127.0.0.1:808080) 重定向到特定文件夹
- flutter - Flutter如何为ThemeData设置白色primarySwatch颜色?
- ios - IOS 12 Xcode 10 _NSJSONRoundTrippingNumber JSON
- java - 响应具有 HTTP 状态代码 500,没有“Access-Control-Allow-Origin”标头
- php - 从关联数组中获取值。
- unity3d - Unity WebGL构建网络摄像头纹理不起作用
- c# - .nettiers 数据源不对查询应用过滤器
- alert - bosun 从不发送未知通知