【问题标题】:Operations on ListView with an adapter使用适配器对 ListView 进行操作
【发布时间】:2016-04-02 08:43:43
【问题描述】:

我有一个带有 ListView 和适配器的 Activity。我的 ListView 中的每一行都包含一个 EditText 和一个 CheckBox。这个 ListView 有两个问题: 第一:更改设备方向或按下主页按钮后保存选中复选框的最佳方法是什么? 第二:我实现了删除选定行的功能。当我单击复选框并按下“删除按钮”时,我在适配器上调用 notifyDataSetChanged 并且一切正常,但如果所选行不是我列表中的最后一行,那么在所有操作之后,删除字段后的第一个字段被选中。为什么?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    试试这个..

    从列表项创建模型并将选中和未选中的值存储到一个变量中,并且您还必须使用 getTag() 和 setTag() 方法。

    【讨论】:

      【解决方案2】:

      列表视图一直在回收视图。这意味着已删除字段之后的字段中的复选框与已删除字段中的复选框相同。这就是它被选中的原因。

      解决方案是将选中状态始终存储在视图之外的活动中。最简单的方法可能是布尔值的某个键的 Map。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-21
        • 2021-04-08
        • 1970-01-01
        • 1970-01-01
        • 2012-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多