티스토리 뷰
알림 대화상자는 마치 자바스크립트의 confirm함수와 같은 기능을 담당하여, 일방적으로 메세지를 보여주고, 예, 아니오, 같은 응답을 처리할 수 있다.
다음은 대화 상자를 띄워서 예를 누르면 액티비티를 종료하는 애플리케이션 코드이다.
레이아웃 xml 코드
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.choonie.broadcastreceiveractivity.DialogActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:onClick="onClickCreateDialog" android:text="종료버튼" /> </RelativeLayout>
액티비티 java 코드
public class DialogActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dialog); } public void onClickCreateDialog(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("알림"); builder.setMessage("애플리케이션을 종료하시겠습니까?").setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { finish(); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); } }
AlertDialog 클래스 내부에 static 클래스로 존재하는 Builder의 인스턴스를 생성 후 이 Builder의 참조 변수가 가지고 있는 메서드를 통해 알림 다이얼로그에 대한 정의를 한 후 Builder클래스가 가지고 있는 create()메서드를 통해서 최종적으로 다이얼로그를 보여주는 show()를 호출한다.
결과
보는 바와 같이 버튼을 누르면 알림메세지가 뜨고 YES를 누르면 액티비티를 종료한다.
'Android > 정리' 카테고리의 다른 글
android selector xml 사용 (뷰를 터치시 색상 효과 주기) (0) | 2016.06.10 |
---|---|
이벤트 처리 (0) | 2016.06.08 |
애플리케이션 실행 시 권한 부여 (0) | 2016.05.26 |
안드로이드 구성요소(서비스) (0) | 2016.05.24 |
수명주기 테스트 코딩 그리고 SharedPreferences인터페이스 (0) | 2016.05.24 |
Comments