투케이2K

13. (AndroidStudio/android/java) AlertDialog 사용해서 라디오(radio) 버튼 목록 선택 팝업창 생성 본문

Android

13. (AndroidStudio/android/java) AlertDialog 사용해서 라디오(radio) 버튼 목록 선택 팝업창 생성

투케이2K 2021. 1. 21. 09:11
반응형

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

// ==== [초기 배열 리스트 목록 선언] ====
String Set[] = {"하나", "둘"};
int index = 0;


// ==== [AlertDialog 팝업창 호출 내용 작성] ====
//TODO 타이틀 표시
String Tittle = "타이틀";

//TODO 버튼 이름 정의
String buttonNo = "취소";
String buttonYes = "확인";

//TODO AlertDialog 팝업창 생성
index = 0; //팝업창 생성될 시 초기 인덱스 값을 설정해 줍니다
new AlertDialog.Builder(A_Main.this)
		.setTitle(Tittle) //팝업창 타이틀 지정
		.setIcon(R.drawable.ic_launcher_foreground) //팝업창 아이콘 지정
		.setCancelable(false) //외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정
		.setSingleChoiceItems(Set, 0, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// ==== [실시간으로 변경된 인덱스 값 확인] ====
				index = which; 
			}
		})
		.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				// ==== [선택된 인덱스 값별 작업 처리 실시] ====
				if(index == 0){
					Toast.makeText(getApplication(), Set[0] + " 선택",Toast.LENGTH_SHORT).show();
				}
				else if(index == 1){
					Toast.makeText(getApplication(), Set[1] + " 선택",Toast.LENGTH_SHORT).show();
				}				
			}
		})
		.setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				
			}
		})		
		.show();

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

* 1. .setTitle(Tittle) //팝업창 타이틀 지정

* 2. .setIcon(R.drawable.ic_launcher_foreground) //팝업창 아이콘 지정

* 3. .setCancelable(false) //외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정

/* =========================== */

반응형
Comments