我想在我的 ListView 中显示/隐藏项目。目前我正在通过迭代适配器的数据来做到这一点。如果某个索引处的项目符合某些条件,则此行称为:
listView.getChildAt(index).setVisibility(View.GONE);
项目不可见,但空白区域仍然存在(令人惊讶的是 View.GONE 和 View.INVISIBLE 在这种情况下表现相同)。
我想实现与项目从适配器中删除并调用 notifyDataSetChanged()
相同的效果,但我不想修改基础数据,只是隐藏项目。
最佳答案
我已经按照 Tonithy 的建议实现了 here .在适配器中的 getView 方法的开头添加了一个 if 子句,用于检查项目是否符合要隐藏的条件。如果确实如此,getView 将返回“空布局”。
当我想隐藏一个项目时,我设置一个条件并在我的 ListView 上调用 .invalidateViews()。
关于android - 正确隐藏 ListView 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720984/