2016-02-09 58 views
0

我使用Recyclerview显示列表。我想删除一些项目,如IOS。在我的列表视图模板中,我添加了一个按钮来删除默认情况下不可见的项目。在我的活动中,我在底部添加了另一个按钮(不是列表视图的一部分),点击此按钮时,我想让所有的ListView的删除按钮都可见。访问Recyclerview的Adapter项目

我的问题是我怎样才能得到所有在活动中的listview删除按钮的引用,这是否是正确的方式来做到这一点?

感谢

回答

1

假设你有ViewHolders成立,你已经在你的列表中的所有按钮的引用。你所要做的就是用一个简单的循环使它们在列表中的每个项目都可见。

如果您还没有实施ViewHolders我建议您查看文档并查看一些关于如何使用它们的简单教程。

在侧面说明。如果我理解正确,你正在为你的应用做一个底部标签,并且自从你引用了iOS之后,我得说出这个;请记住,Android和iOS是两种独特的操作系统,有自己的处理方式。检查谷歌pure Android documentation

1

在您的问题标题中,您说RecyclerView,但在您的文本中,您说ListView。解决方案无论如何都是相似的,但最好清楚你在做什么。

无论哪种情况,至少有两种不同的解决方案。

首先,您可以使用布尔标志来确定是否所有的项目按钮都应该显示或不显示。您在项目视图充气或创建时检查此标志,并相应地切换按钮。如果布尔标志改变了,最简单的事情就是告诉RecyclerView/ListView底层数据已经改变并且重绘所有的视图。在适配器上调用notifyDatasetChanged。

您可以在项目按钮更改时做的另一件事是迭代所有可见的项目视图,找到按钮并更改其可见性。使用RecyclerView,你可以做this,而使用ListView你可以做this