안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그)
안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그)
페이지 정보
본문
원래 뒤로 가기 버튼을 누르면 앱이 종료되지만 종료되지 않고 안내 창을 띄우게 하는 코드
제목을 종료할까요?로 설정해주었고 다이얼로그 바깥쪽을 터치하면 다이얼로그가 꺼지는 걸 방지하는 코드도 넣었습니다
예를 누르면 exit함수가 호출되어 앱을 종료하고 아니요와 취소를 누르면 다이얼로그만 꺼집니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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