Android Architechture组件LiveData数据更改

时间:2017-07-11 01:30:07

标签: android android-architecture-components android-livedata

我已经开始研究最近推出的android架构组件。

DataLiveList.getPhotoDataList().observe(PhotosFragmentNew.this, new Observer<List<PhotoDataLive>>() {
        @Override
        public void onChanged(@Nullable List<PhotoDataLive> photoDataLives)    {

        } 

    });

我的问题是我只想要最后添加的元素而不是数据库中所有项目的列表,其次我想知道新模型的自动生成id,插入元素时获取该id的最佳方法是什么。

1 个答案:

答案 0 :(得分:0)

我做错了,因为我的方法

DataLiveList.getPhotoDataList()

返回一个列表,就是我的DAO类从PhotoModel查询select *,我只需要在DAO类中编写另一个方法

@Query("Select * from photomodel order by Id desc limit 1")
LiveData<photomodel> getLatestAddedItem();

现在当我改变以下

DataLiveList.getPhotoDataList().observe(PhotosFragmentNew.this, new Observer<List<PhotoDataLive>>() {
    @Override
    public void onChanged(@Nullable List<PhotoDataLive> photoDataLives)    {

    } 

});

DataLiveList.getLatestAddedItem().observe(PhotosFragmentNew.this, new Observer<PhotoDataLive>() {
    @Override
    public void onChanged(@Nullable PhotoDataLive photoDataLives)    {

    } 

});

这将导致我想要的