Androidでダイアログを表示する方法です。
新規にDialogFragmentを継承したクラスを作り、呼び出すことでダイアログを表示できます。

ダイアログに受け取った引数を表示するようにします。
package com.atmc118.wifiscanner
import android.app.AlertDialog
import android.app.Dialog
import android.os.Bundle
import androidx.fragment.app.DialogFragment
class StartGameDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return activity?.let {
// Use the Builder class for convenient dialog construction
val builder = AlertDialog.Builder(it)
val mArgs = arguments
val ssid = mArgs!!.getString("ssid")
val ip = mArgs.getInt("ip")
val standard = mArgs.getInt("standard")
val addressStr = arrayOf<Int>(ip,ip shr 8,ip shr 16,ip shr 24).map{it and 0xff}.joinToString(".")
builder.setTitle("接続中のWifi情報")
.setItems(arrayOf("SSID: $ssid", "IPアドレス: $addressStr","規格: "+getStandard(standard))
) { dialog, which ->
// The 'which' argument contains the index position
// of the selected item
}
// Create the AlertDialog object and return it
builder.create()
} ?: throw IllegalStateException("Activity cannot be null")
}
}
setItemsで配列を渡すことでリスト形式でダイアログを表示します。
呼び出し側のコードです。
Acitivityなどダイアログを表示したい箇所に挿入します。
val args = Bundle()
args.putString("ssid", connectInfo.ssid)
args.putInt("ip", connectInfo.ipAddress)
args.putInt("standard", connectInfo.wifiStandard)
val manager: FragmentManager = supportFragmentManager
val frag = StartGameDialogFragment()
frag.arguments = args
frag.show(manager,"Tag")
ラジオボタンやチェックボックスも付けることができるようです。詳しくはAndroid開発者サイトをご覧ください。