AlertDialog

AlertDialogの基本形と表示例


タイトル + メッセージ + OKボタン

AlertDialog.Builder(context)
    .setTitle("Title")
    .setMessage("Message")
    .setPositiveButton("OK", null)
    .show()
  • タイトル、メッセージ、ボタンの文言をセットし、ダイアログを表示
  • ボタンタップ時のコールバックアクションは無し(null)

f:id:komattin:20190916134739p:plain


タイトル + メッセージ + OKボタン + Cancelボタン

AlertDialog.Builder(context)
    .setTitle("Title")
    .setMessage("Message")
    .setPositiveButton("OK", null)
    .setNegativeButton("Cancel", null)
    .show()
  • タイトル、メッセージ、ボタンの文言(OK / Cancel)をセットし、ダイアログを表示
  • ボタンタップ時のコールバックアクションは無し(null)

f:id:komattin:20190916135425p:plain


タイトル + メッセージ + ボタン3つ

AlertDialog.Builder(context)
    .setTitle("Title")
    .setMessage("Message")
    .setPositiveButton("Good", null)
    .setNegativeButton("Bad", null)
    .setNeutralButton("Either", null)
    .show()
  • NeutralButtonは、「どちらでもない」「その他」などの選択肢が必要な場合に追加すると良いでしょう

f:id:komattin:20190916135728p:plain


メッセージのみ

AlertDialog.Builder(context).setMessage("Message").show()

f:id:komattin:20190916135837p:plain



実装のポイント


strings.xmlを参照する

AlertDialog.Builder(context)
    .setTitle(R.string.dialog_title)
    .setMessage(R.string.dialog_message)
    .show()
  • タイトル、メッセージ、ボタンの文言をR.stringで指定できます。


ボタンタップ時のコールバック処理を実装

AlertDialog.Builder(context)
    .setTitle(R.string.dialog_title)
    .setMessage(R.string.dialog_message)
    .setPositiveButton(R.string.dialog_ok) { dialog, which ->
        Toast.makeText(context, "OK", Toast.LENGTH_SHORT).show()
    }
    .show()
  • setPositiveButtonの第二引数はDialogInterface.OnClickListener型となっている為、ラムダ式で記述可能。

f:id:komattin:20190916141847g:plain


キャンセル不可

AlertDialog.Builder(context)
    .setMessage(R.string.dialog_message)
    .setCancelable(false)
    .show()
  • 背景領域をタップしても、◁(バックキー)を押してもキャンセルできなくなります。

f:id:komattin:20190916142644g:plain


キャンセル時のコールバック処理

AlertDialog.Builder(context)
    .setMessage(R.string.dialog_message)
    .setCancelable(true)
    .setOnCancelListener {
        Toast.makeText(context, "Cancel", Toast.LENGTH_SHORT).show()
    }
    .show()

f:id:komattin:20190916143813g:plain


アイコン追加

AlertDialog.Builder(context)
    .setIcon(R.drawable.ic_launcher)
    .setTitle(R.string.dialog_title)
    .setMessage(R.string.dialog_message)
    .setPositiveButton(R.string.dialog_ok, null)
    .show()

f:id:komattin:20190916144136p:plain

MacAddressを調べる方法

terminalから調べる方法

f:id:komattin:20190916131510p:plain

terminalを開き [ ifconfig -a ] とコマンドを入力

 

f:id:komattin:20190916131725p:plain

en0 の etherに表示されるのがMac addressです。

システム環境設定から調べる方法

f:id:komattin:20190916132131p:plain

システム環境設定 > ネットワーク > Wi-Fi(無線Lan時) > 右下の詳細 を開く

f:id:komattin:20190916132200p:plain

Wi-Fi もしくは ハードウェアのタブを選択する