250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 2022년 6월 일상
- 주엽역 생활맥주
- 막내의막무가내 rxjava
- 부스트코스
- 막내의막무가내 플러터 flutter
- 막내의막무가내 안드로이드
- Fragment
- 막내의막무가내 코틀린
- 막내의막무가내 일상
- 주택가 잠실새내
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 프로그래밍
- 막내의막무가내 안드로이드 코틀린
- 막무가내
- 막내의막무가내 알고리즘
- 프로그래머스 알고리즘
- flutter network call
- 막내의막무가내 SQL
- 막내의 막무가내
- 막내의 막무가내 알고리즘
- 부스트코스에이스
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내
- 막내의막무가내 플러터
- 안드로이드
- 막내의막무가내 코틀린 안드로이드
- 안드로이드 sunflower
- 막내의막무가내 목표 및 회고
- 안드로이드 Sunflower 스터디
- 프래그먼트
Archives
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[안드로이드] 선택 다이얼로그 본문
728x90
1
public void showDialog(String title, String content, String positive, String negative)
{
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle(title);
dialog.setMessage(content);
dialog.setPositiveButton(positive,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//positive 버튼이ㅏ 눌렸을 때 수행될 코드를 작성
}
});
dialog.setNegativeButton(negative,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//negative 버튼이 눌렸을 때 수행될 코드를 작성
}
});
dialog.show();
}
//선택 다이얼로그에서 사용할 목록의 배열입니다.
final CharSequence[] items = {"카메라", "갤러리", "취소"};
/* Dialog를 사용하려면 먼저 Dialog를 만들어야 합니다.
new AlertDialog.Builder(context);를 통해 Dialog를 생성하며 context는
context : 어떤 Activity에서 이 Dialog를 사용하는지에 대한 정보 값입니다.
MainActivity.this는 MainActivity에서 Dialog를 만들어서 사용하겠다고 지정해주는 코드입니다.*/
// MainActivity에서 사용할 선택목록 다이얼로그 객체를 생성하여 selectDialog라는 변수에 대입하는 코드입니다
AlertDialog.Builder selectDialog = new AlertDialog.Builder(MainActivity.this);
// 생성한 Dialog에 제목으로 사진선택 이라는 문자열을 지정했습니다.
selectDialog.setTitle("사진선택");
// Dialog가 아닌 바깥을 터치했을 때 Dialog가 사라지지는 기능을 활성화 시키지 않겠다는 코드입니다.
selectDialog.setCancelable(false);
// items : 다이얼로그에 추가할 목록의 배열입니다.
// OnclickLisnter : 추가한 목록을 선택했을때 동작할 클릭이벤트를 등록하는 코드입니다.
// 생성한 Dialog에 목록과 클릭이벤트를 수신할 리스너를 연결하여줍니다.
selectDialog.setItems(items, new DialogInterface.OnClickListener() {
//dialog : 사용자가 보고있는 dialog
// which : 사용자가 클릭한 목록의 index값
@Override
public void onClick(DialogInterface dialog, int index) {
switch (index) {
//index에 따라 실행되어야 하는 기능을 이곳에서 작성합니다.
case 0:
//실행문 작성
break;
case 1:
//실행문 작성
break;
case 2:
//실행문 작성
break;
}
}
});
//사용자에게 실제로 Dialog를 볼수 있게 띄워주는 메서드입니다. 이 부분을 작성하지 않으면 Dialog는 사용자에게 보여지지 않습니다.
selectDialog.show();
2방법
//사진찍기 or 앨범에서 가져오기 선택 다이얼로그
private void photoDialogRadio() {
final CharSequence[] PhotoModels = {"갤러리에서 가져오기", "카메라로 촬영 후 가져오기", "기본사진으로 하기"};
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
//alt_bld.setIcon(R.drawable.icon);
alt_bld.setTitle("프로필사진 설정");
alt_bld.setSingleChoiceItems(PhotoModels, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
// Toast.makeText(ProfileActivity.this, PhotoModels[item] + "가 선택되었습니다.", Toast.LENGTH_SHORT).show();
if (item == 0) { //갤러리
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, PICK_IMAGE);
} else if (item == 1) { //카메라찍은 사진가져오기
takePictureFromCameraIntent();
} else { //기본화면으로하기
mPhotoImageVIew.setImageResource(R.drawable.ic_add_a_photo_black_24dp);
img = null;
}
}
});
AlertDialog alert = alt_bld.create();
alert.show();
}
728x90
'안드로이드 > 자바 & Previous' 카테고리의 다른 글
[안드로이드] 카카오톡 로그인 (54) | 2019.07.19 |
---|---|
[안드로이드] 데이터바인딩 간단하게 적용해보는 공부 (0) | 2019.07.09 |
[안드로이드] 버튼 중복클릭 방지하기 (0) | 2019.06.24 |
[안드로이드] Realm 데이터베이스 정리 (0) | 2019.06.16 |
[안드로이드] otto 라이브러리 ( An event bus by Square ) (0) | 2019.06.16 |
Comments