代码之家  ›  专栏  ›  技术社区  ›  joshk0

为适配器实现bindView()时,是否可以“跳过”视图?

  •  3
  • joshk0  · 技术社区  · 15 年前

    我正在实现一个自定义适配器,它遍历一些数据库条目,这些条目又链接回Android联系人数据库。适配器将对内容解析器进行查询,并将返回的游标中的数据绑定到视图中。但是,假设我将联系人添加到我的私有数据库中,然后将其从Android联系人列表中删除。查询将失败,在理想情况下,我希望从数据库中删除该条目并尝试下一个条目,并使应该绑定的视图无效,这样它就不会显示在屏幕上。

    另一种解决方案是在实例化时遍历整个私有联系人数据库并删除所有不好的条目,但我认为这非常昂贵。

    2 回复  |  直到 15 年前
        1
  •  4
  •   Pentium10    15 年前

    在这种情况下,不能使视图无效,必须将视图集返回为不可见。

    在返回的视图中使用

    view.setVisibility(View.GONE);
    
        2
  •  1
  •   Janusz Daniel Rindt    15 年前

    如果用户切换到联系人列表应用程序,您的应用程序将暂停。如果您使用光标适配器,适配器将停用光标;如果您为自动重新查询提供true,则如果您返回应用程序,光标将刷新。

    是否可以删除所有不想显示在用于获取条目的sql语句列表中的条目?这样就几乎可以自动进行清理了。