gpt4 book ai didi

android - 如果回收器 View 项中的数据为空,则不显示 View 持有者

转载 作者:行者123 更新时间:2023-11-29 23:27:00 26 4
gpt4 key购买 nike

我想检查来自服务器的数据是否为空。如果不为 null,则在我的例子中填充回收器 View 项是 CardView,如果它为 null,则根本不显示 CardView。

在我的回收站 View 适配器中,我有这个:

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
var firstName = itemsList[position].firstName
var lastName = itemsList[position].lastName

if (firstName.isNullOrEmpty() && lastName.isNullOrEmpty()) {
//...what shoud i write here ?
} else {
holder.name?.text = firstName + " " + lastName
}
}

class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

val name = itemView.name
}

最佳答案

你应该这样做:

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
var firstName = itemsList[position].firstName
var lastName = itemsList[position].lastName

if (firstName.isNullOrEmpty() && lastName.isNullOrEmpty()) {
yourCardView.visibility = View.INVISIBLE //or GONE if you do not want to keep its space
holder.name?.text = ""
} else {
yourCardView.visibility = View.VISIBLE
holder.name?.text = firstName + " " + lastName
}
}

class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

val name = itemView.name
}

但是如果 cardview 是你的根项目并且你根本不想显示列表项目,你应该在你的适配器构造函数中用这样的代码更改你的主列表:

        filteredList = itemsList?.filter {
(it.firstname.isNullOrEmpty() || it.lastName.isNullOrEmpty()).not()
}

关于android - 如果回收器 View 项中的数据为空,则不显示 View 持有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53394003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com