Android Activity 에서 Dialog띄우는 방법은 꽤 간단하며,
몇 안되는 맘에 드는 구조중 하나다 ㅋㅋ

일단, Dialog를 띄우고 싶은 시점에서 android.app.Activity에 정의 되어 있는 showDialog(int id) Method를 호출해준다.

그러면 자동으로 android.app.Activity의 onCreateDialog이 호출되는데, 
우리는 이 onCreateDialog Method를 재정의 함으로써 Dialog를 띄울수 있다.
onCreateDialog의 return type이 Dialog이고 argument로 id를 맞는다. 

즉 showDialog를 호출 해줄 때, 상황에 맞게 id 값을 넘겨주고, 그에 따라 Dialog를 적절히 만들어서,
return만 해주면 Dialog가 띄워진다는 얘기다.

@Override

protected Dialog onCreateDialog(int id) {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setMessage("AlertDialog")

      .setCancelable(false)

      .setPositiveButton("Yes", new DialogInterface.OnClickListener() {

          public void onClick(DialogInterface dialog, int id) {

          dialog.cancel();     

          }

      })

      .setNegativeButton("No", new DialogInterface.OnClickListener() {

          public void onClick(DialogInterface dialog, int id) {

                dialog.cancel();

          }

      });

AlertDialog alert = builder.create();

return alert;

}


위의 예제는 하나의 type의 Dialog를 띄워주는 기능을 하기때문에 argument id를 사용하지 않고, 
무조건 Dialog를 만들어서 return 해준다. 
위의 예제코드로 실행을 하면 아래와 같이 Dialog가 나타난다.

Dialog도 이런저런 Type혹은 Customizing이 가능한데, 
필요한게 있으면, 아래 android developer사이트를 참조하여 사용하면 된다. 

참고 자료 : http://developer.android.com/guide/topics/ui/dialogs.html

+ Recent posts