rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

android開発 DialogFragmentのインスタンスはshowメソッドを実行するルーチン内のローカル変数とする

2021 Oct. 30.

DialogFragmentのインスタンスはshowメソッドを実行するルーチン内のローカル変数とする。
表示が終わると自動で削除されることがあるので、グローバルに保持すると、メモリリークとなる恐れがある。

ボタン(btnOpenDialog)をタップしたらダイアログ(myDialogFragment)を開く例
viewBinding.btnOpenDialog.setOnClickListener {
    val myDialogFragment = MyDialogFragment()
    myDialogFragment.show(supportFragmentManager, "my")
}

出典 Android - android開発 DialogFragmentのonStart()内でのOKボタンのOnClickイベント捕捉|teratail