안드로이드(Android) 기본 알림창 AlertDialog 띄우는 방법 |
환경 : Eclipse Mars, Android 4.2.2 |
안드로이드에서 제공하는 가장 기본적인 다이얼로그 띄우는 방법에 대해 알아 보겠습니다. 프로그램 종료나 메시지를 사용자에게 알리고 싶을 때 간단하게 쓸수 있는 기본창에 대한 설명입니다. 알림창으로 이용하는 다이얼로그에는 사용자 선택을 요구하는 버튼이 있습니다. 기본은 확인과 취소 버튼입니다. 그 외에도 여러 버튼들을 추가할 수 있지만 이번 포스팅에서는 기본 두개의 버튼을 나타내는 방법과 클릭이벤트를 연결하는 방법에 대해 설명하겠습니다.
▼ AlertDialog 객체는 먼저 Builder 객체를 만들어 정보를 셋팅합니다. AlertDialog.Builder() 함수를 통해 Builder 객체를 만들수 있습니다. 그리고 다이얼로그에 표시할 제목과 메시지를 셋팅할수 있는 setTitle(), setMessage() 함수가 있죠.
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( context); // 제목셋팅 alertDialogBuilder.setTitle("프로그램 종료"); // AlertDialog 셋팅 alertDialogBuilder .setMessage("프로그램을 종료할 것입니까?") .setCancelable(false);
▼ 다음은 버튼에 대한 제어입니다. 왼쪽 버튼이 setNegativeButton() 이며 오른쪽이 setPositiveButton() 입니다. 두 함수의 인수로 OnClickListener 객체를 넘기시면 됩니다. OnClickListener 객체를 넘기시면서 onClick() 함수에 구현하고 싶은 기능을 셋팅하시면 되겠죠. 저는 다이얼로그에서 종료 버튼을 클릭했을 때 프로그램이 꺼지도록 셋팅했습니다. AlertDialogActivity.this.finish(); 함수를 호출하면 되겠죠.
alertDialogBuilder .setMessage("프로그램을 종료할 것입니까?") .setCancelable(false) .setPositiveButton("종료", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { // 프로그램을 종료한다 AlertDialogActivity.this.finish(); } }) .setNegativeButton("취소", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { // 다이얼로그를 취소한다 dialog.cancel(); } });
▼ Build 객체에 정보를 셋팅 하셨다면 메시지 창을 띄울 AlertDialog 객체를 만들어야 겠죠. Builder.create() 함수로 AlertDialog 객체를 만듭니다. 그리고 show() 함수를 통해 위에서 셋팅한 내용을 띄우면 됩니다.
// 다이얼로그 생성 AlertDialog alertDialog = alertDialogBuilder.create(); // 다이얼로그 보여주기 alertDialog.show();
▼ 이렇게 해서 만들어진 메인 Activity 의 전체 소스 입니다. 화면레이아웃인 XML은
버튼만 있기 때문에 생략하도록 하겠습니다.
import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class AlertDialogActivity extends Activity implements OnClickListener { final Context context = this; private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_alert_dialog); button = (Button) findViewById(R.id.btn_alert); // 클릭 이벤트 button.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()) { case R.id.btn_alert: AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( context); // 제목셋팅 alertDialogBuilder.setTitle("프로그램 종료"); // AlertDialog 셋팅 alertDialogBuilder .setMessage("프로그램을 종료할 것입니까?") .setCancelable(false) .setPositiveButton("종료", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { // 프로그램을 종료한다 AlertDialogActivity.this.finish(); } }) .setNegativeButton("취소", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { // 다이얼로그를 취소한다 dialog.cancel(); } }); // 다이얼로그 생성 AlertDialog alertDialog = alertDialogBuilder.create(); // 다이얼로그 보여주기 alertDialog.show(); break; default: break; } } }
'안드로이드 개발' 카테고리의 다른 글
안드로이드(Android) 다이얼로그(Dialog) 키보드 Back key 눌렀을 때 종료하는 방법 (0) | 2019.10.26 |
---|---|
안드로이드(Android) 기본 알림창인 AlertDialog 에 ListView 표현하는 방법 (3) | 2019.10.26 |
안드로이드(Android) 기본 알림창 AlertDialog 에서 선택 목록창과 옵션창 띄우기 (0) | 2019.10.25 |
안드로이드(Android) 사용자정의 다이얼로그(Custom Dialog) 만드는 방법 (0) | 2019.10.25 |
안드로이드 개발 Fragment 화면 구성하는 방법 - FragmentActivity 로 화면 구성 (0) | 2019.10.10 |
로컬 레파지토리 sonatype nexus 설정해서 안드로이드 스튜디오 환경 구성하는 방법 (0) | 2019.10.09 |
안드로이드 개발 SurfaceView에 카메라 영상 띄우는 방법 (0) | 2019.09.18 |
안드로이드 개발 앱에서 만든 DB 소스로 추출하는 방법 (0) | 2019.09.16 |