개인공부용123 프로그래밍 블로그

[안드로이드] Dialog 생성하기 본문

Android Studio

[안드로이드] Dialog 생성하기

개인공부용123 2017. 3. 23. 20:11

아래와 같은 알림메세지 창을 띄우는 코드 및 설명입니다.



가운데 있는 버튼을 클릭시 위와 같은 다이얼로그 창을 띄워줍니다.



아래는 소스코드입니다. 


public class MainActivity extends Activity {

	final Context context = this;
	private Button button;

	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		button = (Button) findViewById(R.id.buttonAlert);

		// 버튼 리스너 추가
		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); // 빌더 얻기

				// 제목 설정
				alertDialogBuilder.setTitle("앱을 종료하시겠습니까");

				// 다이얼로그 메세지 생성
				alertDialogBuilder
						.setMessage("예 or 모르겠음 or 아니요")
						.setCancelable(false)
						.setPositiveButton("예", // Positive 버튼 기능 작성
								new DialogInterface.OnClickListener() {
									public void onClick(DialogInterface dialog, int id) {
										MainActivity.this.finish(); // 앱종료
									}
								})
						.setNeutralButton("모르겠음",
								new DialogInterface.OnClickListener(){
									public void onClick(DialogInterface dialog,int id){
										Toast.makeText(context,"모르겠음",Toast.LENGTH_SHORT).show();
									}
								})
						.setNegativeButton("아니오", //Negative 버튼 기능 작성
								new DialogInterface.OnClickListener() {
									public void onClick(DialogInterface dialog, int id) {
										dialog.cancel(); // 다이얼로그 취소
									}
								});

				// 다이럴로그 객체 얻어오기
				AlertDialog alertDialog = alertDialogBuilder.create();

				// 다이얼로그 보여주기
				alertDialog.show();

			}

		});

	}

}

Dialog를 생성하기위해서 먼저 AlertDialog.Builder를이용해서 Builder를 얻어와야합니다.


그후 Dialog는 Positive, Negative, Neutral 세가지 버튼을 이용할수있습니다. 해당 버튼의 onClick메소드를 작성해줍니다


다음 아까 얻은 Builder를이용해서 다이얼로그 객체를 얻어온후 show로 보여줍니다.


위함수중 setCancelable함수는 Back버튼등 특수한 버튼 클릭시 다이얼로그를 닫을것인지 닫지않을것인지를 설정할 수 있습니다.


만약 setCancelable(true)일경우 Back버튼 클릭시 닫힙니다. false일경우 Back버튼을 클릭해도 다이얼로그가 닫히지않습니다.