DialogFragment

DialogFragment を試したメモ。

SeekDialogFragment.kt

  • companion object の show メソッドはなくても構わないユーティリティメソッドです。Fragment を生成して表示します。
  • onAttach → onCreateDialog の順に実行されます。Activity が Listener を実装していれば、OK ボタン押下時に onChangeSeekValue メソッドが実行されます。
  • range で負の整数を渡した時のために、max と progress に min を加減しています。first <= last を前提としているのは手抜き…

seek_dialog.xml

  • SeekBar があるだけです。

MainActivity.kt

  • activity_main.xml は省略していますが、ボタンがあることを想定しています。
  • ボタンを押下した時に SeekDialogFragment が開きます。
  • setOnClickListener ではなく setOnTouchListener を使っていたら、不思議な挙動をします。
    • OK ボタンを 4 回押さないとダイアログが閉じない。なぜ?何が起こってる?