android - 正确隐藏 ListView 中的项目

标签 android android-listview hide

我想在我的 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/

相关文章:

java - 如何使用字符串值以编程方式将图像设置到适配器内的 ImageView?

android - 更改 firebase 中 listviewitems 的 bool 值

java - common.annotations.Beta 的 TransformException 重复条目

android - 布局不填充父级

android - 在没有动画的情况下更改 Switch 状态

swift - 如何在 swift 5 中隐藏状态栏?

html - 显示/隐藏 DIV Chrome 扩展

ios - 在整个应用程序中隐藏导航栏

android - 使用 Visual Studio 进行 Xamarin android 部署

android - 无法从 json android 填充列表