我想检查来自服务器的数据是否为空。如果不为null,则在我的情况下填充为CardView的回收者视图项;如果为null,则根本不显示CardView。
在我的回收站视图适配器中,我有这个:
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
}
答案 0 :(得分:0)
您应该执行以下操作:
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()
}
答案 1 :(得分:0)
即使您更改$ cat student_check.sh
Student_Check() {
if [ $# -eq 0 ] ; then
echo "No file specified"
elif [ $# -eq 1 ] ; then
echo success
else
echo "Invalid input"
exit
fi
}
echo Test 0
Student_Check
echo Test 1
Student_Check 1
echo Test 2
Student_Check 1 2
$ ./student_check.sh
Test 0
No file specified
Test 1
success
Test 2
Invalid input
的可见性,CardView
中的空白也将存在。
最好在设置适配器之前从列表中删除空项目:
RecyclerView