출처: https://3months.tistory.com/307 [Deep Play]

안드로이드/연습

[Android] Dialog2

코딩하는 랄뚜기 2021. 8. 23. 14:47

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center_horizontal"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="대화상자"/>

</LinearLayout>

MainActivity.java

package com.example.dialog;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener(){
            public void onClick(View V){
                final String[] versionArray= new String[] {"누가","오레오","파이"};
                AlertDialog.Builder dlg= new AlertDialog.Builder(MainActivity.this);
                dlg.setTitle("좋아하는 버전은?");
                dlg.setIcon(R.mipmap.ic_launcher);
                /*dlg.setItems(versionArray, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        button1.setText(versionArray[which]);
                    }
                });*/
                dlg.setSingleChoiceItems(versionArray, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        button1.setText(versionArray[which]);
                    }
                });
                dlg.setPositiveButton("닫기",null);
                dlg.show();
            }
        });
    }
}

배운 점

setItems 함수와 setSingleChoiceItems 함수는 둘 다 첫 번째 파라미터로 문자열 배열을 받는데 그 내용대로 목록을 만들어준다. 마지막 파라미터는 리스너로 눌렀을 때 원하는 동작을 양식에 맞게 넣어주면 된다.

실행 화면

 

'안드로이드 > 연습' 카테고리의 다른 글

[Android] 파일 처리의 기본  (0) 2021.08.24
[Android] 사용자 정보 입력  (0) 2021.08.23
[Android] Dialog  (0) 2021.08.23
[Android] ContextMenu  (0) 2021.08.23
[Android] Menu xml  (0) 2021.08.23