android - 如何通过单击 ListView 中一项的可见性进行更改
问题描述
我需要为过滤片段选择一个参数,所以当用户单击列表项时出现复选标记(只能选择一个参数)。怎么办,我做错了什么?
class FilterAdapter(private val parameters: ArrayList<String>) : BaseAdapter() {
override fun getCount() = parameters.size
override fun getItem(position: Int) = parameters[position]
override fun getItemId(position: Int) = position.toLong()
override fun getView(position: Int, p1: View?, parent: ViewGroup?): View {
val rowView = LayoutInflater.from(parent?.context).inflate(R.layout.parameter_item, parent, false)
val parameter = getItem(position)
if (position == 0) rowView.check_icon.visibility = View.VISIBLE
rowView.parameter_container.setOnClickListener {
rowView.check_icon.visibility = View.INVISIBLE
when(position) {
0 -> rowView.check_icon.visibility = View.VISIBLE
1 -> rowView.check_icon.visibility = View.VISIBLE
2 -> rowView.check_icon.visibility = View.VISIBLE
3 -> rowView.check_icon.visibility = View.VISIBLE
4 -> rowView.check_icon.visibility = View.VISIBLE
}
}
rowView.param.text = parameter
return rowView
}
解决方案
推荐阅读
- android - 当我在 kotlin 中初始化变量时遇到一些问题
- jenkins - 错误:在 Jenkins 报告中连接 ECONNREFUSED 127.0.0.1:9090
- excel - 如何将项目添加到列表框
- javascript - 如何使用 JavaScript 将 JSON 显示到 html 表中?
- android - SAF - lastModified() 值不反映对云存储上的文件夹的修改
- python - 将列表分组到特定组
- plsql - 列出特定 ORACLE APEX 应用程序的所有报表的所有查询
- excel - VBA更改枢轴月过滤器动态
- ubuntu - 从运行 Ubuntu 的不同计算机获取文件列表
- flutter - 如何解决“未处理的异常:键入'列表
' 不是 'PlaceDetails' 类型的子类型?