0

最近導入された Android アーキテクチャ コンポーネントの作業を開始しました。

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

        } 

    });

私の問題は、データベース内のすべてのアイテムのリストではなく、最後に追加された要素が必要なことです。次に、新しいモデルの自動生成された ID を知りたいのですが、要素の挿入中にその ID を取得する最良の方法は何ですか。

4

1 に答える 1

0

私の方法としては間違っていました

DataLiveList.getPhotoDataList()

リストを返します。つまり、私の DAO クラスには select * from 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)    {

    } 

});

これは私が望んでいたものになります

于 2017-07-11T02:23:12.667 に答える