私は現在、ビューモデル Android ViewModels を使用して、2つのフラグメント間でデータを共有しようとしています。
この記事では、「ViewModelProviders.of(getActivity())。get(SharedViewModel.class);」を使用しています。 Fragmentでモデルを取得します。
私の問題は、フラグメントにまったく同じ行を書き込むと、「(Android.app.Activity)のメソッドを解決できません」というエラーが発生することです
model = ViewModelProviders.of(getActivity()).get(UserAccountViewModel.class);
誰かがこれを手伝ってくれる?
ViewModelProviders
では、アクティビティの基本クラスとして、FragmentActivity
ではなくActivity
(またはそれから派生したもの)を使用する必要があります。
アプリがまだAndroid.support.v4を使用しているときにgradleファイルにandroidxをインポートしようとした場合、Cannot resolve method 'of(Android.support.v4.app.FragmentActivity)'
からViewModelProviders.of(getActivity())
のような同様のエラーが発生する場合もあります
これは、尋ねられる質問とは異なりますが、同じ球場にあり、問題が発生したときにGoogleで最初にランクされているので、投稿します!
GetActivity()を特定のアクティビティにキャストするだけです。わたしにはできる。例えば:
model = ViewModelProviders.of((MainActivity)getActivity()).get(UserAccountViewModel.class);