2011. 11. 30. 11:24

안드로이드 대화상자(Android AlertDialog) 출력하기

문법 에러나 논리 에러가 아닌 안드로이드 앱 상에서 원하는 출력 결과를 얻지 못한 상황이거나 기능 중 선택을 해야할 상황에서는 이 대화 상자를 띄워주는 것이 필수입니다. 다음에 나온 코드를 그대로 쓰면 간단히 입맛에 맞는 대화 상자를 액티비티에 나타낼 수 있습니다.

임포트는 import android.content.DialogInterface ;

1. 찾는 정보가 없을 때

AlertDialog.Builder alertDlg = new AlertDialog.Builder(ListActivity.this) ;   
alertDlg.setTitle("알림") ;
alertDlg.setMessage("찾는 정보가 없습니다.") ;   
alertDlg.setPositiveButton("닫기", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int whichButton) {   
  finish() ;
 }
}) ;   
alertDlg.show() ;

2. 작업 기능을 선택할 때
AlertDialog.Builder alertDlg = new AlertDialog.Builder(ListActivity.this) ;   
alertDlg.setTitle("선택하세요.") ;
alertDlg.setItems(new String[] {"수정하기", "삭제하기"}, new DialogInterface.OnClickListener() {
 alertDlg.setPositiveButton("취소", new DialogInterface.OnClickListener() { 
  public void onClick(DialogInterface dialog, int whichButton) {        
  }
 }) ;
 alertDlg.show() ;

3. 작업 기능을 선택할 때 – 2

AlertDialog.Builder alertDlg = new AlertDialog.Builder(ListActivity.this) ;   
alertDlg.setTitle("확인") ;
alertDlg.setMessage("정말 삭제합니까?") ;       
alertDlg.setPositiveButton("삭제", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int whichButton) {
  String msg = "정보가 삭제되었습니다." ;
  Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); 
   }
  }) ;        
  alertDlg.setNegativeButton("취소", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int whichButton) {         
   }
  }) ;        
alertDlg.show() ;

삭제를 선택하면 데이타를 지운 후 삭제되었다는 메시지를 출력하는데 이것은 Toast.makeText(ListActivity.this, msg, Toast.LENGTH_SHORT).show(); 가 담당한다.