Android 개발 메모
다이얼로그 띄우기 (AlertDialog)
Dexx
2016. 3. 10. 12:28
다이얼로그 관련 정리
[일반적인 다이얼로그]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( new ContextThemeWrapper(getActivity(), android.R.style.Theme_DeviceDefault_Light)); // 다이얼로그 디자인을 디바이스의 기본 형태를 사용하도록 처리 alertDialogBuilder.setTitle("타이틀"); alertDialogBuilder .setMessage("다이얼로그 내용") .setPositiveButton("확인", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 확인 시 처리 할 내용 } }) .setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.setCanceledOnTouchOutside(true); // 다이얼로그 외부 영역 터치 시 다이얼로그 닫기 alertDialog.show(); | cs |
[리스트형 다이얼로그]
string.xml
1 2 3 4 5 6 7 8 | <string-array name="age"> <item>10대</item> <item>20대</item> <item>30대</item> <item>40대</item> <item>50대</item> <item>60대이상</item> </string-array> | cs |
자바에다가 직접 처리해도 된다. 나중에 관리를 위해 string에 입력.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | private void sexDialog() { final String[] memberAge = getResources().getStringArray(R.array.age); // string.xml에 입력된 리스트를 불러옴 AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( new ContextThemeWrapper(getActivity(), android.R.style.Theme_DeviceDefault_Light)); alertDialogBuilder.setTitle("나이"); alertDialogBuilder.setItems(memberAge, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getActivity(), memberAge[which], Toast.LENGTH_LONG).show(); // 어느 놈이 선택되었는지 확인 하기 위해 토스트 띄움 // memberAge[which]가 선택한 항목 } }); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.setCanceledOnTouchOutside(true); alertDialog.show(); } | cs |
검색해 보니 여러 방식의 리스트 다이얼로그가 있는데 이 방법이 제일 편한 듯...