[ AlertDialog ]

 

1. 정의

   - 대화상자를 보여주는 가장 단순한 객체

 

2. 주요 메소스

   - setTitle() : 타이틀 설정

   - setMessage() : 메세지 내용 설정

   - setPositiveButton(), setNegativeButton() : 예, 아니오  - 버튼 설정

     . 이 메소드에는 OnclickListener()를 설정할 수 있다.

 

3. 사용예

   - button클릭 시 onButton1Clicked() Event가 호출 되어 대화상자를 띄워준다.

 

 

public class MainActivity extends AppCompatActivity {
    TextView textView1;
    String msg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView1 = (TextView) findViewById(R.id.textView1);

    }

    /**
* 버튼을 눌렀을 때 대화상자 객체를 생성하는 메소드를 호출
     * @param v
     */
    public void onButton1Clicked(View v) {
        AlertDialog dialog = createDialogBox();
        dialog.show();
    }

    /**
     * 대화상자 객체 생성
     */
    private AlertDialog createDialogBox(){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("안내");
        builder.setMessage("종료하시겠습니까?");
        builder.setIcon(android.R.drawable.ic_dialog_alert);

        // 예 버튼 설정
        builder.setPositiveButton("예", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                msg = "예 버튼이 눌렀습니다. " + Integer.toString(whichButton);
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }
        });

        // 취소 버튼 설정
        builder.setNeutralButton("취소",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                msg = "취소 버튼이 눌렸습니다. " + Integer.toString(whichButton);
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
                //textView1.setText(msg);
            }
        });

        // 아니오 버튼 설정
        builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                msg = "아니오 버튼이 눌렸습니다. " + Integer.toString(whichButton);
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }
        });

        // 빌더 객체의 create() 메소드 호출하면 대화상자 객체 생성
        AlertDialog dialog = builder.create();

        return dialog;
    }

 

'[Android] - 개념 > Message' 카테고리의 다른 글

Toast  (0) 2016.12.04
Posted by 농부지기
,