KotlinでAlertDialogを表示させる

#はじめに
KotlinでAlertDialogを勉強したので、簡単なアプリを作ってみました。
参考になれば幸いです。

##作成したアプリ
<img width="400" alt="4ez4c-l2muo.gif" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/495465/7a2ac54c-721d-a0af-c34e-b0bc7a83dd88.gif">
`EditText`に文字を入力し、`Button`をクリックすることで、その文字を`TextView`に反映。何も文字が入力されていない時、`AlertDialog`を呼び出しダイアログを表示。


###ダイアログの表示方法
```kotlin:MainActivity.kt
AlertDialog.Builder(this)
    .setTitle("ERROR！")
    .setMessage("入力してください")
    .setPositiveButton("OK"){ dialog, which -> }
    .show()
```
`setTitle("ERROR!")`でダイアログのタイトル文を挿入
`setMessage("入力してください")`でダイアログのメッセージ文を挿入
`setPositiveButton("OK"){ dialog, which ->}`でOKを選択した時の処理(今回は何も処理をさせず閉じるだけ)

##ソースコード
###MainActivity
```kotlin:MainActivity.kt
/* 
package、importなどは省略
*/
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        button.setOnClickListener{
            if(editText.text.toString()==""){
                AlertDialog.Builder(this)
                    .setTitle("ERROR！")
                    .setMessage("入力してください")
                    .setPositiveButton("OK"){ dialog, which -> }
                    .show()
            }else{
                textView.text = editText.text.toString()
            }
        }
    }
}
```

###activity_main.xml
```xml:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    <Button
            android:text="Button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent" 
            android:id="@+id/button" 
            android:layout_marginTop="32dp"
            app:layout_constraintTop_toBottomOf="@+id/editText" 
            app:layout_constraintHorizontal_bias="0.498"/>
    <EditText
            android:text="文字を入力"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent" 
            android:id="@+id/editText"
            app:layout_constraintTop_toBottomOf="@+id/textView"
            android:layout_marginTop="32dp"/>
    <TextView
            android:text="文字を入力"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintStart_toStartOf="parent" 
            app:layout_constraintEnd_toEndOf="parent"
            android:id="@+id/textView" 
            app:layout_constraintTop_toTopOf="parent" 
            android:layout_marginTop="128dp"
            android:textSize="30sp"
            android:layout_marginBottom="8dp"
            app:layout_constraintBottom_toBottomOf="parent" 
            app:layout_constraintHorizontal_bias="0.498"
            app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
```
#最後に
今回は`AlertDialog`のほんの一部にすぎません。ボタンを増やしたり、処理を書いたり、出来ることはまだまだたくさんあるなと思いました。レイアウトにこだわって`setIcon`でアイコン画像を貼り付けたり、`setSingleChoiceItems`でラジオボタン選択したり、、、
また次の機会にでも挑戦したいと思います。

###追記
<img width="400" alt="図1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/495465/5da1f570-e715-ec78-f282-69296563e6ed.png">
これは私が作成したアプリで使用した`AlertDialog`です。このように`setSignalChoiceItems`や`setIcon`を用いることで、カスタマイズすることができます。