Kotlin에서 AlertDialog 보기

소개



Kotlin에서 AlertDialog를 공부했으므로 간단한 앱을 만들어 보았습니다.
도움이되면 다행입니다.

만든 앱



EditText에 문자를 입력하고 Button를 클릭하여 문자를 TextView에 반영합니다. 아무것도 문자가 입력되어 있지 않을 때 AlertDialog 호출 대화 상자를 표시합니다.

대화 상자 표시 방법



MainActivity.kt
AlertDialog.Builder(this)
    .setTitle("ERROR!")
    .setMessage("入力してください")
    .setPositiveButton("OK"){ dialog, which -> }
    .show()
setTitle("ERROR!")에서 대화 상자의 제목 문 삽입setMessage("入力してください")에서 대화 상자의 메시지 문 삽입setPositiveButton("OK"){ dialog, which ->}에서 OK를 선택했을 때의 처리 (이번에는 아무것도 처리하지 않고 닫는 것만)

소스 코드



MainActivity



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



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에서 라디오 버튼을 선택하거나,,
또 다음의 기회에도 도전하고 싶습니다.

추가




이것은 내가 만든 앱에서 사용한 AlertDialog입니다. 따라서 setSignalChoiceItems 또는 setIcon를 사용하여 사용자 정의 할 수 있습니다.

좋은 웹페이지 즐겨찾기