|
안드로이드(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 |

