안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그)
페이지 정보
작성일 23-02-17 08:55
본문
원래 뒤로 가기 버튼을 누르면 앱이 종료되지만 종료되지 않고 안내 창을 띄우게 하는 코드
제목을 종료할까요?로 설정해주었고 다이얼로그 바깥쪽을 터치하면 다이얼로그가 꺼지는 걸 방지하는 코드도 넣었습니다
예를 누르면 exit함수가 호출되어 앱을 종료하고 아니요와 취소를 누르면 다이얼로그만 꺼집니다
package com.ehsehsl.osz; import androidx.appcompat.app.AppCompatActivity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onBackPressed() { // 뒤로가기 누르면 다이얼로그 생성 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.mipmap.ic_launcher); // 다이얼로그 아이콘 builder.setTitle("종료여부"); // 다이얼로그 제목 builder.setMessage("정말 종료 하시겠습니까?"); // 다이얼로그 본문 내용 builder.setCancelable(false); // 다이얼로그 화면 밖 터치 방지 builder.setPositiveButton("예", new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { exit(); } }); builder.setNegativeButton("아니요", new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); builder.setNeutralButton("취소", new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); builder.show(); // 다이얼로그 보이기 } public void exit() { // 종료 super.onBackPressed(); } }
추천 0 비추천 0
- 이전글 웹뷰에 케시가 쌓이는것을 앱이 종료할때마다 비우는 함수 23.02.17
- 다음글 안드로이드 웹뷰 쿠키, 세션, 히스토리 삭제 23.02.16