Android ViewModel 内部サービス (代替) 質問する

Android ViewModel 内部サービス (代替) 質問する

ほとんどの場合ユーザーに表示される UI を提供するサービスがあります。

新しいアプリケーション アーキテクチャを試していたときに、問題が発生しました。

MyModelviewModel viewModel = ViewModelProviders.of(this).get(MyModelviewModel.class);

しかし、ご存知のようthisAppCompatFragment

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サービスまたはビューに実装することもできます。

ViewModelProvidersViewModelはそれぞれFragmentまたはのキャッシュを提供するだけなので、によって直接Activityを作成できます。ViewModelnew MyModelviewModel()

おすすめ記事