Android 대화 상자 AlertDialog.Builder 사용 방법 상세 설명

저 희 는 평소에 개발 을 할 때 다양한 대화 상 자 를 사용 하 는 것 을 피 할 수 없습니다.다른 플랫폼 개발 경험 이 있 는 친구 들 이 알 게 될 것 이 라 고 믿 습 니 다.대부분의 플랫폼 은 가장 간단 한 실현 만 제 공 했 습 니 다.만약 에 저희 가 특정한 수 요 를 실현 하고 자 하 는 대화 상 자 를 원한 다 면 계승 등 방식 으로 저희 의 대화 상 자 를 다시 쓰 겠 다 고 먼저 생각 하 실 것 입 니 다.물론 이것 도 좋 은 해결 방법 이 라 고 할 수 있 습 니 다.그러나 일반적인 상황 은 이 렇 습 니 다.우리 가 다시 쓴 대화 상 자 는 특정한 곳 에서 만 사용 할 수 있 습 니 다.이번 사용 을 위해 새로운 종 류 를 만 드 는 것 은 닭 을 잡 는 데 소 칼 을 사용 하 는 느낌 이 들 고 심지어 우리 의 프로그램 에 불필요 한 복잡성 을 증가 시 킬 수 있 습 니 다.이런 상황 에 대한 대화 상자 에는 더 우아 한 해결 방안 이 있 습 니까?
다행스럽게도 안 드 로 이 드 는 이러한 문제 해결 방안 을 제 공 했 습 니 다.안 드 로 이 드 를 처음 접 했 을 때 저 는 사용자 정의 대화 상 자 를 만 들 었 을 때 계승 방식 으로 이 루어 졌 습 니 다.나중에 문서 에 대한 이해 가 깊 어 지면 서 안 드 로 이 드 가 처음에 해당 하 는 인터페이스 Dialog Builder 를 제공 한 것 을 발 견 했 습 니 다.다음은 제 가 관련 내용 을 여기 서 공유 하 겠 습 니 다.더 많은 초보 자 들 이 시행 착 오 를 줄 일 수 있다.
먼저 가장 간단 한 응용 프로그램 입 니 다.바로 메시지 상 자 를 팝 업 하 는 것 입 니 다.안 드 로 이 드 에서 이렇게 실현 할 수 있 습 니 다.

new AlertDialog.Builder(self)
setTitle("  ") 
setMessage("     ")
setPositiveButton("  ", null)
show();
효 과 는 다음 과 같 습 니 다:

위의 코드 에서 우 리 는 AlertDialog 를 새로 만 들 었 고 Builder 방법 으로 대상 체인 을 만 들 었 습 니 다.일련의 설정 방법 을 통 해 우리 가 필요 로 하 는 대화 상 자 를 구성 한 다음 에 show 방법 으로 표시 합 니 다.Builder 방법의 매개 변수 self 를 알 수 있 습 니 다.이것 은 사실은 Activity 대상 의 참조 입 니 다.당신 이 처 한 문맥 에 따라 해당 하 는 인용 을 전달 하면 됩 니 다.예 를 들 어 onCreate 방법 에서 호출 하면 this 만 들 어 오 면 됩 니 다.
확인 및 취소 버튼 이 있 는 대화 상자 입 니 다:

new AlertDialog.Builder(self) 
setTitle("  ")
setMessage("   ?")
setPositiveButton(" ", null)
setNegativeButton(" ", null)
show();

여기 에는 두 개의 null 인자 가 있 습 니 다.여기 놓 아야 할 것 은 이 두 단 추 를 누 른 감청 프로그램 입 니 다.이 동작 을 감청 할 필요 가 없 기 때문에 null 값 에 들 어 가 는 것 은 간단하게 무시 합 니 다.그러나 실제 개발 할 때 보통 감청 기 에 들 어가 사용자 의 조작 에 응 해 야 합 니 다.
다음은 텍스트 를 입력 할 수 있 는 대화 상자 입 니 다:

new AlertDialog.Builder(self)
setTitle("   ")
setIcon(android.R.drawable.ic_dialog_info)
setView(new EditText(self))
setPositiveButton("  ", null)
setNegativeButton("  ", null)
show();

위의 코드 와 같이 저 희 는 setView 방법 으로 대화 상자 에 텍스트 편집 상 자 를 전 달 했 습 니 다.물론 그림 상자,WebView 등 모든 보기 대상 을 전송 할 수 있 습 니 다.상상력 을 마음껏 발휘 하 세 요.
다음은 단일 선택 상자 와 다 중 선택 상자 이 며 매우 유용 한 두 가지 대화 상자 입 니 다.

new AlertDialog.Builder(self)
setTitle("   ")
setIcon(android.R.drawable.ic_dialog_info) 
setSingleChoiceItems(new String[] {"  1","  2","  3","  4"}, 0, 
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
)
setNegativeButton("  ", null)
show();

new AlertDialog.Builder(self)
setTitle("   ")
setMultiChoiceItems(new String[] {"  ","  ","  ","  "}, null, null)
setPositiveButton("  ", null) 
setNegativeButton("  ", null)
show();

단일 선택 과 다 중 선택 대화 상 자 는 우리 가 평소에 사용 하 는 것 이 매우 많 을 것 입 니 다.코드 는 잘 이해 할 것 입 니 다.다음은 마지막 으로 두 가 지 를 소개 하 겠 습 니 다.
목록 대화 상자:

new AlertDialog.Builder(self)
setTitle("   ")
setItems(new String[] {"   1","   2","   3"}, null)
setNegativeButton("  ", null)
show();
마지막 으로 대화 상자 에 그림 보이 기:

ImageView img = new ImageView(self);
img.setImageResource(R.drawable.icon);
new AlertDialog.Builder(self)
setTitle("   ")
setView(img)
setPositiveButton("  ", null)
show();

우 리 는 이미지 뷰 를 통 해 그림 을 보 여 주 었 습 니 다.여기에 전형 적 인 안 드 로 이 드 그린 아이콘 이 표시 되 어 있 습 니 다~~물론 여기 인터넷 사진 도 놓 을 수 있 습 니 다.구체 적 인 실현 방법 은 소개 하지 않 겠 습 니 다.여러분 께 연습 을 남 겨 두 겠 습 니 다~
마지막 으로 안 드 로 이 드 플랫폼 은 우리 에 게 개발 에 큰 편 의 를 제공 해 주 었 습 니 다.DialogBuilder 가 할 수 있 는 일 은 이것 뿐만 이 아 닙 니 다.여기 서 보 여 주 는 것 은 빙산 의 일각 입 니 다.우 리 는 상상 을 마음껏 발휘 하여 우리 자신의 대화 상 자 를 만 들 수 있 습 니 다.

좋은 웹페이지 즐겨찾기