【问题标题】:How to update layout of item view in listview on Activity如何在 Activity 的列表视图中更新项目视图的布局
【发布时间】:2017-08-06 19:46:23
【问题描述】:

我的应用程序有一个按钮(B1)自定义 ListView 项目视图包括:复选框,文本视图

目标是我按下按钮 B1,然后 ListView 中的所有复选框都将被设置为可见,我已经完成了,但这适用于屏幕上显示的内容。当我滚动 Listview 以防其他人不可见的多行时

让我们看看我的解释: - 列表数据中有 10 个项目的示例 -> 当前屏幕上的 Listview 仅显示 5 个项目(滚动时仍然可见 10 个项目) - 当按下 B1 按钮时,只有 5 个项目的 CHECKBOX 可见,其他项目不工作

我的意思是我想在 Activity 上更改视图项的布局

【问题讨论】:

  • 请贴出代码

标签: android listview checkbox android-arrayadapter


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多