【发布时间】:2021-05-01 10:29:16
【问题描述】:
您好,我正在使用 kotlin 学习新的 android jetpack。在使用带有绑定的 recyclerview 时,我们需要使用空列表初始化适配器,大多数时候我看到人们将列表传递给适配器。但是如何使用嵌套的 pojo 类而不是列表来做同样的事情呢?
这是数据样本
{"results":[{"gender":"female","name":{"title":"Ms","first":"Ines","last":"Hernandez"},"location ":{"street":{"number":1495,"name":"Calle de Alcalá"},"city":"Málaga","state":"Melilla","country":"Spain","邮政编码":86664,"坐标":{"纬度":"-17.4716","经度":"106.6687"},"时区":{"偏移":"-5:00","描述":"东部时间(美国和加拿大),波哥大,利马"}},"email":"ines.hernandez@example.com","login":{"uuid":"66c3248d-d257-45b1-bd9c-3ebcba6e7b7a","用户名 “:” smallduck939" , “密码”: “maxxxx”, “盐”: “kxEtQgmY”, “MD5”: “14e95cbbda70d692f74c5073a21b6a1e”, “SHA1”: “bf12732af070dd38e6418b31260ba10f74f14e94”, “SHA256”: “7f1b6be17c0bf339d6153c7c4379fd0d8564bf0cfa2f9e6ae9caef2a037f7e0a”},“DOB ":{"日期":"1982-04-07T17:51:39.317Z","年龄":39},"注册":{"日期":"2016-02-20T17:10:42.682Z","年龄":5},"电话":"964-947-469","手机":"677-793-075","id":{"name":"DNI","value":"96170049- S"},"图片":{"大":"https://randomuser.me/api/portraits/women/66.jpg","中":"https://randomuser.me/api/portrait s/med/women/66.jpg","thumbnail":"https://randomuser.me/api/portraits/thumb/women/66.jpg"},"nat":"ES"}]}
这是我的数据类
data class UserResponse(val results:ArrayList<User>?)
以及后续的,所以你可以看到我已经用“结果”键开始了起点。
现在在声明适配器时,我需要传递一个类似的列表
private val listAdapter = UserAdapter(arrayListOf())
然后声明类似
//来自另一个项目
private val ListDataObserver = Observer<List<Animal>> {list-> list?.let { binding.animalList.visibility=View.VISIBLE
listAdapter.updateanimalList(it)}}
但是你可以在现有数据中看到数据是Single类型的,即以一个键开头,那么在这种情况下我该如何初始化recyclerview
private val listAdapter = UserAdapter(arrayListOf())
因为数据类不是列表类型?我应该直接从这里解析吗?
[{"gender":"female","name":{"title":"Ms","first":"Ines","last":"Hernande
请帮我解决这个问题,因为我无法初始化 recyclerview 并随后使用 observable。 谢谢:)
【问题讨论】:
标签: android kotlin android-jetpack