Program/Android Java

안드로이드 - Alert Dialog

너구리V 2012. 6. 12. 17:26

3. 라디오버튼이 있는 선택 Dialog

// Selectable Dialog - Radio Button
private void goAlert3() {
       AlertDialog.Builder alert = new AlertDialog.Builder(this);
       alert.setTitle("요리 재료를 선택하세요");

       // 2번째 : checked_item
       alert.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener(){
               public void onClick(DialogInterface dialog, int item){
                        dialog.dismiss();
                        goStart(item);
       }
  });

  alert.show();
 }
 
 private void goStart(int item) {
       Toast.makeText(getApplicationContext(), 
                                 items[item], 
                                 Toast.LENGTH_SHORT).show();
 }



2. 선택가능한 Dialog

final String[] items = { "beef", "pork", "chicken"};


 // Selectable Dialog
 private void goAlert2() {
      AlertDialog.Builder alert = new AlertDialog.Builder(this);
      alert.setTitle("요리 재료를 선택하세요");
  
      alert.setItems(items, new DialogInterface.OnClickListener(){
             public void onClick(DialogInterface dialog, int item){
                   Toast.makeText(getApplicationContext(), 
                                              items[item], 
                                              Toast.LENGTH_SHORT).show();
             }
      });

  alert.show();
 }

 


1. 일반적인 Alert Dialog

private void goAlert1() {
     AlertDialog.Builder alert = new AlertDialog.Builder(this);
     
     // 제목, 메시지, icon, 버튼
     alert.setTitle(R.string.alert_title);
     alert.setMessage("100% 맛있는 요리동영상을 시청하시겠습니까?");
     alert.setIcon(R.drawable.info); 

     // cancel : false = 단말기 back button으로 취소되지 않음.
     alert.setCancelable(false);

     // yes
     alert.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int id){
                   dialog.dismiss(); // dialog 사라짐
            }
     });

     // no
     alert.setNegativeButton("No", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int id){
                  dialog.cancel();
            }
     });
     
     alert.show();
    }

반응형