ViewModel を共有して、フラグメント間でデータを使いまわしていきます。
環境
- Windows 11 Home 21H2
- Android Studio Bumblebee | 2021.1.1 Patch 1
- 言語:Java
- SDKバージョン:API 30 Android 11.0 (R)
手順
プロジェクト作成
今回は Navigation Drawer Activity のテンプレートを使っていきます。最初から Fragment と ViewModel があるので、動作確認が簡単です。
ViewModel共有
MainActivity と 各Fragment で ViewModel を共有するように設定していきます。
MainActivity
1 | public class MainActivity extends AppCompatActivity { |
Fragment
1 | public class HomeFragment extends Fragment { |
データ共有
ViewModel内のデータを、各Fragmentで参照する設定にします。
1 | final TextView textView = binding.textHome; |
確認
各Fragmentで同じ値が表示される。