ほとんどの場合ユーザーに表示される UI を提供するサービスがあります。
新しいアプリケーション アーキテクチャを試していたときに、問題が発生しました。
MyModelviewModel viewModel = ViewModelProviders.of(this).get(MyModelviewModel.class);
しかし、ご存知のようthis
にAppCompat
、Fragment
LiveData
何か代替案はありますか?それとも、私が装着しているようなオブザーバーを直接装着できますか?ViewModel
viewModel.getList().observe(Playground.this, new Observer<List<TestEntity>>() {
@Override
public void onChanged(@Nullable List<TestEntity> items) {
recyclerViewAdapter.addItems(items);
}
});
ベストアンサー1
LiveData
は なしで独立して使用することもViewModel
、 を使用することobserveForever(Observer<T> observer)
も、observe(LifecycleOwner owner, Observer<T> observer)
適切なLifecycleOwner
インスタンスを提供しながら、LifecycleOwner
サービスまたはビューに実装することもできます。
ViewModelProviders
ViewModel
はそれぞれFragment
またはのキャッシュを提供するだけなので、によって直接Activity
を作成できます。ViewModel
new MyModelviewModel()