我正在使用Recyclerview来显示列表。我想删除像IOS这样的项目。在我的listview模板中,我添加了一个按钮来删除默认不可见的项目。在我的活动中,我在底部附加了另一个按钮(不是listview的一部分),点击这个按钮我想让listview的所有删除按钮都可见。
我的问题是如何在活动中引用listview的所有删除按钮,这是正确的方法吗?
由于
答案 0 :(得分:1)
假设您已设置ViewHolders,则您已经引用了列表中的所有按钮。您所要做的就是通过简单的循环使列表中的每个项目都可见。
如果您尚未实施ViewHolders,我建议您查看文档并查看一些有关如何使用它们的简单教程。
旁注。如果我理解正确你正在为你的应用程序制作一个底部标签,并且因为你引用了iOS,我必须这样说;请记住,Android和iOS是两个独特的操作系统,有自己的处理方式。查看谷歌pure Android documentation。
答案 1 :(得分:1)
在您的问题标题中,您说的是RecyclerView,但在您的文字中,您说的是ListView。解决方案无论哪种方式都类似,但最好还是要非常清楚你正在做什么。
在任何一种情况下,至少有两种不同的解决方案。
首先,您可以使用布尔标志来确定是否应显示所有项目按钮。您在项目视图膨胀或创建时检查此标志,并相应地切换按钮。如果布尔标志永远改变,最简单的方法是告诉RecyclerView / ListView底层数据已经改变并重绘所有视图。在适配器上调用notifyDatasetChanged。
项目按钮更改时可以执行的另一项操作是迭代所有可见的项目视图,找到按钮并更改其可见性。使用RecyclerView,您可以this,使用ListView,您可以this。