상세 컨텐츠

본문 제목

[안드로이드 코틀린] 다이얼로그(Dialog) 리스트(List)로 보여주는 방법

안드로이드

by aries574 2022. 7. 5. 12:13

본문


이번 시간에는 다이얼로그(Dialog) 리스트(List)로 보여주는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면
2. 리스트 데이터 만들기 string.xml
3. 메인 화면 구현 activity_main.xml
4. 메인 코드 구현 MainActivity.kt


1. 실행 화면


2. 리스트 데이터 만들기 string.xml

 res -> value -> string.xml

 - 설명 -

다이얼로그(Dialog)에 보일 리스트

    <string-array name="colors">
        <item>Red</item>
        <item>Blue</item>
        <item>Green</item>
    </string-array>

 


3. 메인 화면 구현 activity_main.xml

- 설명 -

 다이얼로그(Dialog) 호출하는 Button

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/dialog_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="다이얼로그"
        android:textSize="25sp"/>
</RelativeLayout>

 

4. 메인 코드 구현 MainActivity.kt

- 설명 -

1. resources.getStringArray(R.array.colors)

string.xml에 있는 데이터 가져오기

2. AlertDialog.Builder(this)

다이얼로그 초기화

3. builder.setItems

아이템 선택 이벤트

4. alertDialog.show()

다이얼로그 보여주기

class MainActivity : AppCompatActivity() {

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

        //초기화
        val dialogBtn: Button = findViewById(R.id.dialog_btn)
        dialogBtn.setOnClickListener {
            showDialog()
        }
    }//onCreate

    //다이얼로그 호출
    private fun showDialog(){

        //데이터 담기
        val colors: Array<String> = resources.getStringArray(R.array.colors)

        //AlertDialog 초기화
        val builder: AlertDialog.Builder = AlertDialog.Builder(this)

        //제목 설정
        builder.setTitle("색깔을 선택하세요")

        //아이템 선택 이벤트
        builder.setItems(colors){
            p0, p1 ->
            Toast.makeText(this, "선택된 색깔은 ${colors[p1]}",
                Toast.LENGTH_SHORT).show()
        }

        val alertDialog: AlertDialog = builder.create()
        alertDialog.show()
    }

}//MainActivity

2022.06.24 - [안드로이드] - [안드로이드 코틀린] Database Room 사용법 part1 - Room 설정

 

[안드로이드 코틀린] Database Room 사용법 part1 - Room 설정

안드로이드에서 앱 내부에 데이터를 관리하는 기능을 하는 Room 사용법에 대하여 알아보겠습니다. 이번 시간에는 기본 설정을 해보겠습니다. 아래 링크를 들어가시면 Room에 대한 상세한 정보를

aries574.tistory.com

2022.06.17 - [안드로이드] - [안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정

 

[안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정

사용자가 정한 시간에 알람이 울리게 하는 방법에 대하여 알아보겠습니다. 이번 시간에는 알람 관련 클래스와 설정들을 만들어 보겠습니다. 목차 1. 알람 클래스 만들기 NotificationHelper.kt 2. 

aries574.tistory.com

2022.06.14 - [안드로이드] - [안드로이드 코틀린] Tab Custom Animation part1 - 화면 구성 및 설정

 

[안드로이드 코틀린] Tab Custom Animation part1 - 화면 구성 및 설정

앞으로 TabLayout을 직접 만들어 애니메이션 기능까지 넣어보도록 하겠습니다. 이번 시간에는 화면 구성 및 설정을 만들어 보겠습니다. 목차 1. 실행 화면 2. dataBinding 설정 build.gradle 3. 테마 변경 t

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역