モケラ

Tech Sheets

mokelab

ViewModelオブジェクトを取得する

最終更新日:2019-03-10

先ほど作成したViewModelオブジェクトを取得するには、次のように ViewModelProviders を使います。 ActivityFragmentonCreate() で取得するようにしましょう。

class MainFragment : Fragment() {
    private lateinit var model: MainViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        this.model = ViewModelProviders.of(this).get(MainViewModel::class.java)
    }
}

of() の引数にはViewModelオブジェクトを保持しているフラグメントやアクティビティを指定します。画面回転などといったコンフィギュレーションの変更による再生成が行われても、同じViewModelオブジェクトが取得できます。

一覧に戻る