투케이2K

18. (AndroidStudio/android/java) AlertDialog 사용해서 체크박스(check) 다중 선택 팝업창 생성 - setMultiChoiceItems 본문

Android

18. (AndroidStudio/android/java) AlertDialog 사용해서 체크박스(check) 다중 선택 팝업창 생성 - setMultiChoiceItems

투케이2K 2021. 1. 22. 12:10

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

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

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

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

[소스 코드]

 

// ==== [초기 배열 리스트 목록 선언] ====
String Set[] = {"하나", "둘"};
static boolean Set_Flag[] = {false, false};
String select_List = "";



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

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

//TODO AlertDialog 팝업창 생성
Set_Flag = new boolean[]{false, false}; //TODO 이 코드 추가 시 팝업창 호출 시 마다 초기화 되면서 출력
new AlertDialog.Builder(A_Main.this)
	.setTitle(Tittle) //팝업창 타이틀 지정
	.setIcon(R.drawable.ic_launcher_foreground) //팝업창 아이콘 지정
	.setCancelable(false) //외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정
	.setMultiChoiceItems(Set, Set_Flag, new DialogInterface.OnMultiChoiceClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which, boolean isChecked) {
			// TODO ==== 다중 선택 바뀐 것을 적용합니다 ====
			Set_Flag[which] = isChecked;
		}
	})
	.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			// TODO Auto-generated method stub
			// TODO ==== [선택된 리스트 값 처리 실시] ====
			select_List = "";
			for(int i=0; i<Set_Flag.length; i++){
				if(Set_Flag[i] == true){ //선택되었을 경우
					select_List += Set[i]+",";
				}
			}

			Toast.makeText(getApplication(),"선택 목록 : "+select_List,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) //외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정

* 4. setMultiChoiceItems //다중 선택을 할 수 있습니다

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

반응형
Comments