Android greendao listview实体中的所有数据

Android greendao listview实体中的所有数据,android,orm,greendao,Android,Orm,Greendao,绿岛。 有一种简单的方法可以在ListView中显示一个实体中的所有记录,并且支持自动更新列表。 也许是懒散班?如何使用它?看一看。我也在使用这样的适配器(包括一个ViewHolder模式来重用ListView中的视图),即使对于很多记录,它也很快。但是,如果您需要自动更新功能,这将不可用 以下是有关LasyList的一些信息,以解释原因: 使用Query.listLazy()获取懒散列表: 这不会自动显示新插入的记录(或停止显示已删除的记录),因为这些记录会缓存在内存中。 因此,更新将不可见

绿岛。 有一种简单的方法可以在ListView中显示一个实体中的所有记录,并且支持自动更新列表。 也许是懒散班?如何使用它?

看一看。我也在使用这样的适配器(包括一个ViewHolder模式来重用ListView中的视图),即使对于很多记录,它也很快。但是,如果您需要自动更新功能,这将不可用

以下是有关LasyList的一些信息,以解释原因:

  • 使用
    Query.listLazy()
    获取懒散列表: 这不会自动显示新插入的记录(或停止显示已删除的记录),因为这些记录会缓存在内存中。 因此,更新将不可见,因为记录不会被查询两次

  • 使用
    Query.listlazyunched()获取懒散列表
    :
    现有记录的更新可能可见,但仅当更新的记录当前未显示时才可见。
    另外,您应该小心,因为我认为插入或删除记录可能会破坏此列表

要在列表中插入和删除内容,您必须刷新基础LazyList并调用
notifyDataSetChanged()

我正在适配器中使用此选项:

public void setLazyList(LazyList<T> list) {
    if (list != lazyList) {
        lazyList.close();
        lazyList = list;
        this.dataValid = lazyList != null;
        notifyDataSetChanged();
    }
}
public void setLazyList(LazyList列表){
如果(列表!=懒散列表){
lazyList.close();
懒散的列表=列表;
this.dataValid=lazyList!=null;
notifyDataSetChanged();
}
}
顺便说一下:如果您使用的是LazyList:


如果您不再使用懒人列表,请不要忘记关闭它们

如何刷新基础LazyList?@Amozoss我正在使用ListView和BaseAdapter。滚动列表视图默认时从GreenDAO加载的项。我不需要刷新基础懒散列表。对于刷新和从服务器加载新项目,我也使用操作、提供程序和服务。很好用!