안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그) > 자료실

자료실

안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그)

페이지 정보

profile_image
작성자 최고관리자
댓글 0 조회 1,103회 작성일 23-02-17 08:55
작성일 23-02-17 08:55

본문

원래 뒤로 가기 버튼을 누르면 앱이 종료되지만 종료되지 않고 안내 창을 띄우게 하는 코드

제목을 종료할까요?로 설정해주었고 다이얼로그 바깥쪽을 터치하면 다이얼로그가 꺼지는 걸 방지하는 코드도 넣었습니다

예를 누르면 exit함수가 호출되어 앱을 종료하고 아니요와 취소를 누르면 다이얼로그만 꺼집니다
0bc706f4e3e7936ca659ee1de74234da_1676669020_3341.jpg
 

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

  • 회사 : Cginjs
  • 대표 : Cginjs
  • 주소 :
  • 메일 : admin@mysample.com
  • 사업자 등록번호 :
Copyright © Cginjs All rights reserved.
notice