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

EditText
에 문자를 입력하고 Button
를 클릭하여 문자를 TextView
에 반영합니다. 아무것도 문자가 입력되어 있지 않을 때 AlertDialog
호출 대화 상자를 표시합니다.
대화 상자 표시 방법
MainActivity.ktAlertDialog.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
를 사용하여 사용자 정의 할 수 있습니다.
Reference
이 문제에 관하여(Kotlin에서 AlertDialog 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yu-shun/items/f3554b876ed16b0f35b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
AlertDialog.Builder(this)
.setTitle("ERROR!")
.setMessage("入力してください")
.setPositiveButton("OK"){ dialog, which -> }
.show()
/*
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()
}
}
}
}
<?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
를 사용하여 사용자 정의 할 수 있습니다.
Reference
이 문제에 관하여(Kotlin에서 AlertDialog 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yu-shun/items/f3554b876ed16b0f35b8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)