2017-07-11 21 views
0

最近紹介されたアンドロイドアーキテクチャーコンポーネントで作業を開始しました。Android ArchitechtureコンポーネントLiveDataデータ変更

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

     } 

    }); 

私の問題は、私はちょうど最後に追加された要素ではなく、データベース内のすべての項目のリストは、第二私は、自動で新しいモデルのIDを生成したかを知りたいたいです、何が要素を挿入しながら、そのIDを取得するための最良の方法です。私はリストを返し

私の方法

DataLiveList.getPhotoDataList() 
として、それは間違ってやっていた

+0

は最初(または最後)を取得...それはソート続ける...リストを守って欲しかったものになります。または...リストの代わりにLiveData のように最後を公開してください。それ以外にも多くの方法があります。それはLiveData自体とはあまり関係がありません。さらに、 "autogenerated id"には '@PrimaryKey(autoGenerate = true)'があります。それを読んでください! –

+0

ありがとうございました。答えを投稿しました。 – AbdulMueed

答えて

0

、それは私のDAOクラスはPhotoModelから選択の問い合わせ*を持っている、私は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) { 

    } 

}); 

これは私が