2017-08-06 140 views
-2

我的应用程序有一个按钮(B1)定制的ListView该项目视图包括:复选框,TextView的如何更新项目视图的布局列表视图上的活动

目标是我按下按钮B1然后ListView中所有的复选框将被调用setVisible我已经完成了它,但这是为屏幕上显示的内容而工作的。当我滚动列表视图的情况下,多行,其他人不能visibled

让我们来看看我的解释: - 例如,有在列表数据10项 - >当前屏幕上的列表视图只显示5个项目(10个项目仍可见,当滚动) - 当按下按钮B1,仅仅的5项复选框是可见的,其他人是不工作

我的意思是我想改变视图项目的布局权上的活动

+0

请发帖 –

回答

0

因为仅更新布局的意见。你还需要更新你的数据集(listview的适配器数组),但我知道你的数据集中没有布尔变量来决定复选框是否可见。首先你需要添加变量。点击按钮后,请勿更新布局视图。只更改数据(布尔变量)并调用自定义适配器的notifyDataSetChanged()方法。 notifyDataSetChanged()方法将调用适配器的getView()方法,以查看屏幕中可见的所有视图。如果您在getView()方法中检查视图的可见性,则值将被正确更新。滚动后的其他项目将是正确的,因为您的getView()方法是正确的。

如果您不明白答案,请添加您的OnClickListener按钮和您的自定义适配器类。我会更新它们。

编辑:你专注于错误的问题。您的解决方案与更新布局无关。你有关于listView应该如何工作的逻辑问题。

相关问题