Android - 알람 대화상자

유의선·2023년 4월 16일
0

알람 대화상자는 사용자에게 메시지를 전달하며 '예', '아니오'와 같은 전형적인 응답을 처리해 사용자에게 확인을 받고나 선택하게 할 때 사용된다.

다음은 TextView와 Button만 있는 레이아웃에 버튼을 누르면 대화상자를 띄워주는 간단한 코드이다.

package org.techtown.sampledialog;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showDialog();
            }
        });
    }

    private void showDialog(){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("안내");
        builder.setMessage("종료하시겠습니까?");
        builder.setIcon(android.R.drawable.ic_dialog_alert);

        builder.setPositiveButton("예", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String message = "예 버튼이 눌렸습니다.";
                textView.setText(message);
            }
        });

        builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String message = "아니오 버튼이 눌렸습니다.";
                textView.setText(message);
            }
        });

        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

AlertDialog 클래스는 알람 대화상자를 보여주는 가장 단순한 방법을 제공해준다.

 AlertDialog.Builder builder = new AlertDialog.Builder(this);

알림 대화상자의 타이틀은 setTitle 메소드로, 내용은 setMessage 메소드로, 아이콘은 setIcon 메소드로 설정할 수 있다.

		builder.setTitle("안내");
        builder.setMessage("종료하시겠습니까?");
        builder.setIcon(android.R.drawable.ic_dialog_alert);

'예', '아니오'와 같은 버튼의 설정은 setPositiveButton과 setNegativeButton 메소드를 사용한다.

 		builder.setPositiveButton("예", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String message = "예 버튼이 눌렸습니다.";
                textView.setText(message);
            }
        });

        builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String message = "아니오 버튼이 눌렸습니다.";
                textView.setText(message);
            }
        });

마지막으로 대화상자 객체를 생성 후 보여준다.

		AlertDialog dialog = builder.create();
        dialog.show();


0개의 댓글